VB:这个程序为什么得不到m*n数组的“鞍点”(在本行中最大,在本列中最小的数组元素)?

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:11:34
Private Sub Form_Click()
Dim M As Integer, N As Integer, A() As Integer, B() As Integer, C() As Integer, Max As Integer, Min As Integer, I As Integer, J As Integer, K As Integer
M = InputBox("请输入行数", "输入M值", 5): N = InputBox("请输入列数", "输入N值", 5)
ReDim A(M, N): ReDim B(M, N): ReDim C(M, N)
Form1.Cls
Randomize
For I = 1 To M
For J = 1 To N
A(I, J) = Int(90 * Rnd) + 10
Print A(I, J);
Next J
Print
Next I

K = 1
For I = 1 To M
Max = A(I, 1)
For J = 1 To N
If A(I, J) > Max Then
Max = A(I, J)
K = J
End If
Next J
B(I, K) = 1
Next I

K = 1
For J = 1 To N
Min = A(1, J)
For I = 1 To M
If A(I, J) < Min Then
Min = A(I, J)
K = I
End If
Next I

K=1的位置放的不对:
Private Sub Form_Click()
Dim M As Integer, N As Integer, A() As Integer, B() As Integer, C() As Integer, Max As Integer, Min As Integer, I As Integer, J As Integer, K As Integer
' M = InputBox("请输入行数", "输入M值", 5): N = InputBox("请输入列数", "输入N值", 5)
M = 5
N = 5
ReDim A(M, N): ReDim B(M, N): ReDim C(M, N)
Form1.Cls
Randomize
For I = 1 To M
For J = 1 To N
A(I, J) = Int(90 * Rnd) + 10
Print A(I, J);
Next J
Print
Next I

For I = 1 To M
Max = A(I, 1)
K = 1
For J = 1 To N
If A(I, J) > Max Then
Max = A(I, J)
K = J
End If
Next J
B(I, K) = 1
Next I

For J = 1 To N
Min = A(1, J)
K =