【例1】编写程序,利用二维数组在窗体上输出如图5x5矩阵,该矩阵两条对角线上的元素为1,其余元素为0(要求:数组的下标下界从1开始)
option base 1
private sub form_click()
dim x(5, 5) as integer
for i = 1 to 5
for j = 1 to 5
x(i, j) =0
if i = j or i + j = 6 then x(i, j) =1
print x(i, j);
next j
printnext i
end sub
例2】编写程序,利用二维数组在窗体上输出如图7x7矩阵。 (要求:数组的下标下界从1开始)
option base 1
private sub form_click()
dim x(7, 7) as integer
for i = 1 to 7
for j = 1 to 7
x(i, j) =0
if i <=j and i + j <=8 then x(i, j) =1
if i >=j and i + j >=8 then x(i, j) =1
print x(i, j);
next j
printnext i
end sub
例3】编程查找5×5整型数组中所有的在行上最大、在列上也最大的元素。
private sub form_click()
dim a(1 to 5, 1 to 5) as integer
dim i%, j%, max%, col%, flag%
print "数组各元素的值为:"
'产生并输出5x5矩阵。
randomize
for i = 1 to 5
for j = 1 to 5
a(i, j) =int(rnd * 100)
print a(i, j),next j
printnext i
print在此矩阵中逐行找最大值,并判断此最大值是否也是列上的最大值,是就输出。
for i = 1 to 5
max = a(i, 1): col = 1
for j = 1 to 5
if a(i, j) >max then
max = a(i, j): col = j
end if
next j
'上面一小段为找出此行的最大值,放在max,列号放在col中。
下面一段为判断第col列中是否有值大于max的值,如果没有max为行列都是最大值。
flag = 0
for j = 1 to 5
if a(j, col) >max then
flag = 1: exit for
end if
next j
if flag = 0 then
print "a(";i; "col; "a(i, col); 是行最大列也最大"
end if
next i
end sub
例4】动态数组。编一个程序,显示有n个数的非波那契数序列
private sub form_click()
dim x() as double
dim n%, i%
n = val(inputbox("输入序列数"))
redim x(n - 1)
x(0) =1
x(1) =1
for i = 2 to n - 1
x(i) =x(i - 1) +x(i - 2)
next i
for i = 0 to n - 1
print x(i),if (i + 1) mod 5 = 0 then print
next i
end sub
上机实验七 二维数组字符数组答案
1算法提示 分析一个10行的杨辉三角,需要一个10 10的二维矩阵a,则 1 杨辉三角为下三角矩阵,只需要求出第i行 i 0,1,2,9 前i 1个元素,即a i j 0 j 0.i 2 每行的第0列元素均为1,即a i 0 1 3 每行的主对角线元素也均为1,即a i i 1 4 从第2行开始,每...
上机实验七 二维数组字符数组答案
1算法提示 分析一个10行的杨辉三角,需要一个10 10的二维矩阵a,则 1 杨辉三角为下三角矩阵,只需要求出第i行 i 0,1,2,9 前i 1个元素,即a i j 0 j 0.i 2 每行的第0列元素均为1,即a i 0 1 3 每行的主对角线元素也均为1,即a i i 1 4 从第2行开始,每...
一维数组例题答案
一维数组举例 1 王小二是个卖大饼的,他一刀可以把大饼切2块,两刀可以切出4块,三刀最多可以切7块,四刀可以切11块,问10刀最多可以切多少块?private sub form click dim x 10 as integer x 0 1 for i 1 to 10 x i i x i 1 pri...