vb中二维数组元素怎么去掉某一行某一列然后输出
答案:2 悬赏:50 手机版
解决时间 2021-12-21 02:48
- 提问者网友:城市野鹿
- 2021-12-20 23:01
vb中二维数组元素怎么去掉某一行某一列然后输出
最佳答案
- 五星知识达人网友:蓝房子
- 2021-12-20 23:23
Dim Suju(3, 4) As Integer
Private Sub Command1_Click()
Randomize
Text1 = ""
For i = 0 To 3
For j = 0 To 4
Suju(i, j) = Rnd * 89 + 10
Text1 = Text1 & " " & Suju(i, j)
Next
Text1 = Text1 & vbCrLf
Next
Picture1.Cls
Picture1.Print Smax(Suju)
End Sub
Function Smax(Sj() As Integer) As String
Dim aa As Integer
Dim bb As String
aa = Suju(0, 0)
For i = 0 To UBound(Sj, 1)
For j = 0 To UBound(Sj, 2)
If aa < Sj(i, j) Then aa = Sj(i, j)
Next
Next
For i = 0 To UBound(Sj, 1)
For j = 0 To UBound(Sj, 2)
If aa = Sj(i, j) Then
bb = bb & vbCrLf & "在第" & i + 1 & "行,第" & j + 1 & "列"
End If
Next
Next
Smax = "最大值是:" & aa & bb
End Function
Private Sub Command1_Click()
Randomize
Text1 = ""
For i = 0 To 3
For j = 0 To 4
Suju(i, j) = Rnd * 89 + 10
Text1 = Text1 & " " & Suju(i, j)
Next
Text1 = Text1 & vbCrLf
Next
Picture1.Cls
Picture1.Print Smax(Suju)
End Sub
Function Smax(Sj() As Integer) As String
Dim aa As Integer
Dim bb As String
aa = Suju(0, 0)
For i = 0 To UBound(Sj, 1)
For j = 0 To UBound(Sj, 2)
If aa < Sj(i, j) Then aa = Sj(i, j)
Next
Next
For i = 0 To UBound(Sj, 1)
For j = 0 To UBound(Sj, 2)
If aa = Sj(i, j) Then
bb = bb & vbCrLf & "在第" & i + 1 & "行,第" & j + 1 & "列"
End If
Next
Next
Smax = "最大值是:" & aa & bb
End Function
全部回答
- 1楼网友:长青诗
- 2021-12-21 00:32
arrm(0,0)=3
arrm(0,1)=0
这个是向数组arrm(的第0排的第0个地址赋值3和向数组arrm的第0排第1个地址赋值0
这个没有为什么的,你爱高兴给他赋值几就赋值几,就像你想给小孩几元钱就给几元,那是你的事。
至于0,0 0,1是二维数组的下标,即数学中的坐标
看下图你就明白了
就如你的arrm数组在定义时 定义了2排3列的数据
第1个数据 第2个数据 第3个数据
第0排 10 20 30
第1排 40 50 60
如上,那么arrm(0,0)=10 arrm(0,1) =20 arrm(0,2)=30
arrm(1,0)=40 arrm(1,1)=50 arrm(1,2)=60
括号中的第一个数相当于横坐标,第二 个数相当于纵坐标 而等号后面的数即为横纵坐标交叉点的值,即该坐标的值
当然上面是原来的值,如果你想改变谁的值就可以用a(x,y)=赋于的值 即可
其实数值坐标就是几个变量的集合而已,只是为了便于在循环中好控制而已
如你的arrm(2,3)就相当于2×3=6个变量,即上面列举的6个
在vb中数组的起始下标是从0开始的,所以会出现0排第0个数据,而有些语言的数组下标却从1开始。
其实都差不多,只是后一种更接近于生活而已
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯