2014-01-23 回答
代码如下:
Option Explicit
Option Base 1 '声明下标为1
Dim Arr(4, 5) As Integer '声明一个二维数组
Private Sub Command1_Click()
Picture1.Cls '清屏
Dim i As Integer, j As Integer '定义两个用于循环的变量
For i = 1 To 4
For j = 1 To 5
Randomize '初始化随机数,避免重复产生随机数
Arr(i, j) = Rnd * 90 + 10 '随机数取值范围10~90
Picture1.Print Arr(i, j); '打印二维矩阵
Next j
Picture1.Print vbCrLf; '换行
Next i
FindMax
End Sub
Sub FindMax() '查找通用过程
'先找出最大值,再确定最大值位置
Dim i As Integer, j As Integer, Temp As Integer
Temp = Arr(1, 1)
For i = 1 To 4
For j = 1 To 5
If Temp < Arr(i, j) Then Temp = Arr(i, j)
Next j
Next i
Picture1.Print "最大值为:" & Temp & vbCrLf & "位于:";
For i = 1 To 4
For j = 1 To 5
If Temp = Arr(i, j) Then Picture1.Print "(" & i & "," & j & ") ";
Next j
Next i
End Sub
补充:
在文本框中显示二维矩阵用一下代码:
(注意设置Text1的MultiLine属性为True)
Private Sub Command1_Click()
Text1.Text = "" '清屏
Dim i As Integer, j As Integer '定义两个用于循环的变量
For i = 1 To 4
For j = 1 To 5
Randomize '初始化随机数,避免重复产生随机数
Arr(i, j) = Rnd * 90 + 10 '随机数取值范围10~90
Text1.Text = Text1.Text & Arr(i, j) & ","
Next j
Text1.Text = Text1.Text & vbCrLf '换行
Next i
FindMax
End Sub