一个vb小程序,请老师解释一下

来源:百度知道 编辑:UC知道 时间:2024/05/29 03:12:41
Private Sub Command1_Click()
Dim array1(10, 10) As Integer '定义一个二维数组
Dim i As Integer, j As Integer
For i = 1 To 4
For j = i To 4
array1(i, j) = i + j
Next j
Next i
Text1.Text = array1(2, 3) + array1(3, 4)
End Sub
问题:
一、在这个程序中,定义了一个10行10列的二维数组,它在赋值之前,应该是空的,好象一个空的表格。是不是可以这样说?
二、一个双重for循环,是不是一个给这个空的10×10表格的相关单元格赋值的过程?
三、这个程序输出的结果为什么都是12?我曾把for循环改成:
For i = 1 To 4
For j = 1 To 3
array1(i, j) = i + j
Next j
Next i
其结果还是12
能否告诉我这个循环的意义和它的赋值过程?
四、我想打印出这个数组的全部元数即这个10行10列的表格内容进行分析,该加一句什么代码,加在哪里?
谢谢!

1)可以这样说,单不是空的,而是有默认值的,Integer默认为0,String默认为""
2)没有给整个数组赋值,只给其中4*4的区域赋值了
3)Text1.Text = array1(2, 3) + array1(3, 4) =(2+3)+(3+4)=12
改了则Text1.Text = array1(2, 3) + array1(3, 4) =(2+3)+(0)=5

4)For i = 0 To 9
For j = 0 To 9
print array1(i, j);
Next j
print
Next i

一、可以这样说。
二、这个双重循环定义了一个4×4的下三角矩阵。
三、它输出这个矩阵的二行三列(5)和三行四列(7)两个元素的和,结果当然是12了。这个矩阵的赋值过程是每个元素都等于它的行列标之和。
如果你改成下的样子,结果不可能是12的,因为 array1(3, 4) 没赋值,默认是0。
四、要打印,可在Next j 前面加一句print array1(i, j);(注意该句最后有个分号哦。),再在Next j的后面加一句:print