如果有多个鞍点如何编写
vb吧
全部回复
仅看楼主
level 1
麦叩尔 楼主
如下,又出现过有两个鞍点(数值相同)但只输出一个。
Private Sub Command2_Click()
Form1.Cls
Dim a(4, 4) As Integer, b(4) As Integer, c(4) As Integer
Randomize
For i = 1 To 4
For j = 1 To 4
a(i, j) = Val(Rnd * 89 + 10)
Print a(i, j);
Next j
Print
Max = a(i, 1)
b(i) = Max
For j = 1 To 4
If a(i, j) > Max Then
Max = a(i, j): b(i) = Max
End If
Next j
Next i
For i = 1 To 4
Min = a(1, i)
c(i) = Min
For j = 1 To 4
If a(j, i) < Min Then
Min = a(j, i)
c(i) = Min
End If
Next j
Next i
For i = 1 To 4
For j = 1 To 4
If b(i) = c(j) Then
n = b(i): k = i: p = j
m = 1
End If
Next j
Next i
If m = 1 Then
Print
Print "鞍点为:" & n & " 第" & k; "行," & "第" & p & "列"
Else
Print
Print "鞍点不存在"
End If
End Sub
2022年10月30日 14点10分 1
level 15
可以这样改:
把 n = b(i): k = i: p = j 改成这两句:
Print
Print "鞍点为:" & b(i) & " 第" & i; "行," & "第" & j & "列"
即每找到一个鞍点就输出一个
把如下语句:
If m = 1 Then
Print
Print "鞍点为:" & n & " 第" & k; "行," & "第" & p & "列"
Else
改成:
If m = 0 Then
即如果没有找到鞍点,则m=0,输出“鞍点不存在”
顺便说一下,如果有多个鞍点,则这些鞍点的数值必然相等
2022年10月31日 11点10分 2
谢谢
2022年11月22日 02点11分
1