vb题目 这是关于矩阵求鞍点的 谁能解释一下后面一部分 从for k=1 to 6

如题所述

Option Base 1
Option Explicit
Private Sub Command1_Click()
   Cls   '测试时建议加上这句,因为结果有鞍点的概率较低,多鞍几次按钮才可能出现一次有鞍点的情况
   Dim a(6, 5) As Integer, f As Boolean, i As Integer, j As Integer
   Dim k As Integer, col As Integer, max As Integer
   Randomize
   For i = 1 To 6
      For j = 1 To 5
         a(i, j) = Int(Rnd * 90 + 10)
         Print a(i, j);
      Next j
      Print
   Next i
   '鞍点的意思就是在一行中的最大值也是该列的最小值
   f = False
   For i = 1 To 6   '从第一行查找到第六行
      max = a(i, 1): col = 1
      For j = 2 To 5
         If a(i, j) >= max Then
            max = a(i, j): col = j
         End If
      Next j
      '以上五句程序的功能是找出该行的最大值,并记下其位置
      '以下三句判断找出的行的最大值是否是它所在的列的最小值
      For k = 1 To 6
         If a(k, col) < a(i, col) Then Exit For   '如果条件不满足,结束子循环,其结果是条件成立时k的值小于7
      Next k
      If k = 7 Then  '如果k=7,那么上面的子循环没有提前结束,也就是对于该列的每一个数都不小于所找出的列的最大值,即满足鞍点的条件
         Print "鞍点是:a(" & i & "," & col & ")"
         f = True   '将f设置为true,标示找到鞍点
      End If
    Next i
    If f = False Then Print "没有鞍点"   '如果没有鞍点,输出没有鞍点
End Sub
温馨提示:答案为网友推荐,仅供参考