请高手帮忙看一下这段程序哪里错了

来源:百度知道 编辑:UC知道 时间:2024/04/28 11:36:29
要求产生一位随机数,然后组成一个四行五列的数阵,请帮忙看一下哪里错了,最好能给我一段正确的代码,做作业,急着呢,谢谢大家了!
Option Explicit
Dim a(4, 5) As Integer
Dim i As Integer, j As Integer
Private Sub Command1_Click()
Randomize
For a(i, j) = 1 To 20
a(i, j) = Int(9 * Rnd + 1)
Next a(i, j)
For i = 1 To 4
For j = 1 To 5
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
End Sub
那么在哪里加上分号呢?
我实在是头疼,哪位高手能给段正确的代码然后对比一下错在哪里啊?我很想知道错在哪里!

For a(i, j) = 1 To 20 ;下标没变,怎么a(i,j)步长为1????是不是i=1 to 3 .j=1 to 4
a(i, j) = Int(9 * Rnd + 1)
Next a(i, j)
我虽然没搞过VB,但我认为这个逻辑好象有问题。
我坚持我的说法,二维数组不能这样用的,按楼上的说法,这个二维数组怎么形成?数组的下标都不知道,在这时,只知道 I ,J是一个整型,但它们的值是多少?你这个循环体内把循环条件都给破坏了,怎么能正确进行.
正确的应该是这样的.
Option Explicit
Dim a(4, 5) As Integer
Dim i As Integer, j As Integer
Private Sub Command1_Click()
Randomize
For i= 1 To 3 ;;;;; a(4,5)下标只能到a(3,4)
for j=1 to 4 ;;;;;;
a(i, j) = Int(9 * Rnd + 1) ;;;;;;;
Next j ;;;;;;;;;
next i ;;;;;;;
For i = 1 To 3
For j = 1 To 4
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
End Sub

没分号
楼下你可别乱说!
我也是学生说说没意见没关系吧!,FOR循环数组应该是[20]