VB 二维数组找最大元素位置,要求先设第一行第一列为最大元素,option base 1 求代码
题目
VB 二维数组找最大元素位置,要求先设第一行第一列为最大元素,option base 1 求代码
Option Base 1
Private Sub Command1_Click()
Dim a(4, 5) As Integer
Dim i As Integer
Dim j As Integer
Dim v As Integer
Dim h As Integer
Picture1.Cls
For i = 1 To 4
For j = 1 To 5
a(i, j) = Int(Rnd * 90) + 10
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
Picture1.Print
a(h, v) = a(1, 1)
For i = 1 To 4
For j = 1 To 5
If a(h, v) < a(i, j) Then a(h, v) = a(i, j): h = i: v = j
Next j
Next i
Picture1.Print "数组中最大元素为第" & h & "行" & "第" & v & "列的" & a(h, v)
End Sub
Private Sub Command2_Click()
End
End Sub
我写的会溢出
答案
Option Base 1
Private Sub Command1_Click()
Dim a(4, 5) As Integer
Dim i As Integer
Dim j As Integer
Dim v As Integer
Dim h As Integer
Picture1.Cls
For i = 1 To 4
For j = 1 To 5
a(i, j) = Int(Rnd * 90) + 10
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
Picture1.Print
h = 1
v = 1
For i = 1 To 4
For j = 1 To 5
If a(h, v) < a(i, j) Then h = i: v = j
Next j
Next i
Picture1.Print "数组中最大元素为第" & h & "行" & "第" & v & "列的" & a(h, v)
End Sub
Private Sub Command2_Click()
End
End Sub
你的代码错在a(h, v) = a(1, 1)和a(h, v) = a(i, j),不但是多余的,而且会改变的数组a的值,造成错误.你说说,你干嘛要让a(h, v) = a(i, j)呢?你只需要记录最大元素的下标值即可,最后通过下标值就可以知道最大元素的值了啊!
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- 种花用肥经常会提到腐熟的人粪尿,怎样才能鉴别肥是否腐熟了呢?一般需多长时间才行呢?
- 如图AD=AB,CD=CB,求证:∠B=∠D.
- 已知cota=2,求sina+2cosa/2sina+cosa的值
- 若一个多边形的每一个内角都等于140°,则这个多边形是____变形
- 一分钟演讲稿
- 一个表面积为412平方分米的长方体纸箱,
- 高手请进……世界物理大问题…
- 赤道夏至日春分日秋分日冬至日日期各是什么,还有北半球和南半球的春夏秋冬的日期
- 已知矩阵3阶矩阵A,求【(-2A)*】^-1
- 已知一次函数的图象经过点A(-1,3),B(2,3),求这个函数的解析式!
热门考点