level 15
你说的“矩阵”在编程中可以用二维数组实现,比如数组改成这样定义:
Dim a(1 To 4, 1 To 3) As Integer
(顺便,你原来定义的数组太大了,一共只用到了12个元素,你定义101个干啥?)
然后,访问数组元素也改成二重循环:
For i = 1 To 4
For j = 1 To 3
'a(i, j) 表示第i个学生的第j门课程的成绩
Next j
Next i
2020年05月04日 10点05分
2
贴吧怎么回复不了图片了
2020年05月04日 11点05分
我想说我搞了但是没搞对
2020年05月04日 11点05分
@巴巴卫hhh- 你不会是想在楼中楼贴图片吧……单独开楼层好么
2020年05月04日 11点05分
原来是这个亚子哈哈哈哈我好傻那我重新试试
2020年05月04日 12点05分
level 15
一维数组转换为二维数组可以用如下方法:
设数组下标都是从1开始(其实从0开始用的公式更简单,这里不多说),一维数组的元素a(k)转换之后对应二维数组的元素b(i,j)(即第i行第j个数是总的第k个数),则有:
k=(i-1)*n+j
其中n表示矩阵有多少列(每行有多少个数)
除了已知i和j求k,也可以已知k求i和j:
i=(k-1)\n+1
j=(k-1) Mod n+1
2020年05月04日 12点05分
4
好嘞 谢谢!!
2020年05月04日 13点05分
帮我看看在6楼 谢谢!!!
2020年05月05日 08点05分
吧务
level 13
' 直接使用二维数组不可以吗?
Private Sub Command1_Click()
Dim b(1 To 4, 1 To 3) As Integer, i As Integer, j As Integer
For i = 1 To 4
For j = 1 To 3
b(i, j) = Val(InputBox("第" & Str(i) " 位学生的第" & Str(j) & " 项成绩:"))
Next
Next
For i = 1 To 4
For j = 1 To 3
Print b(i, j),
Next
Print
Next
End Sub
2020年05月04日 13点05分
5
level 15
For i = 1 To 4
Print "第" & i & "个同学成绩分别是:",
For j = 1 To 3
Print a(i, j);
Next j
Print
Next i
2020年05月05日 08点05分
7