VB编程 二维矩阵
答案:3 悬赏:70
解决时间 2021-01-04 09:41
- 提问者网友:逝爱
- 2021-01-03 21:33
求二维矩阵a(4,4)所有非边界元素的和,元素从[0,100](晗0和100)中随机产生。
最佳答案
- 二级知识专家网友:不傲怎称霸
- 2021-01-03 23:07
不用任何控件,代码如下:
Private Sub Form_Click()
Form1.AutoRedraw = True
Form1.Cls
Dim A(4, 4) As Integer, B As Integer, I As Byte, J As Byte
Randomize
For I = 1 To 4
For J = 1 To 4
A(I, J) = Int(Rnd * 101)
Print A(I, J);
Next
Print
Next
For I = 2 To 3
For J = 2 To 3
B = B + A(I, J)
Next
Next
Print "非边界元素的总和="; B
End Sub
已经运行过。
Private Sub Form_Click()
Form1.AutoRedraw = True
Form1.Cls
Dim A(4, 4) As Integer, B As Integer, I As Byte, J As Byte
Randomize
For I = 1 To 4
For J = 1 To 4
A(I, J) = Int(Rnd * 101)
Print A(I, J);
Next
Next
For I = 2 To 3
For J = 2 To 3
B = B + A(I, J)
Next
Next
Print "非边界元素的总和="; B
End Sub
已经运行过。
全部回答
- 1楼网友:樣嘚尐年
- 2021-01-04 01:13
'加入一个command控件
option explicit
dim arr(), m
private sub command1_click()
dim n, i, j
n = inputbox("输入一个有效的数字:")
if not isnumeric(n) or n = "0" then
msgbox "无效数字!"
exit sub
end if
n = val(n) '转换为数值
redim arr(1 to n, 1 to n)
m = 0
fc 1, n
cls
for i = 1 to n '输出到form
for j = 1 to n
print arr(i, j),
next
print
next
end sub
function fc(a, b)
dim i, j
if a > b then exit function '结束递归调用
for i = a to b '左下
m = m + 1
arr(i, ubound(arr) - b + 1) = m
next
for i = a + 1 to b '下右
m = m + 1
arr(b, i) = m
next
for i = b - 1 to a step -1 '右上
m = m + 1
arr(i, b) = m
next
for i = b - 1 to a + 1 step -1 '上右
m = m + 1
arr(a, i) = m
next
fc a + 1, b - 1 '递归调用
end function
- 2楼网友:哥在撩妹请勿打扰
- 2021-01-04 00:04
Private Sub Command1_Click()
Cls
Dim a(4, 4)
For i = 0 To 4
For j = 0 To 4
a(i, j) = Int(Rnd * 101)
If i <> 0 And i <> 4 And j <> 0 And j <> 4 Then Sum = Sum + a(i, j)
Print a(i, j);
Next j
Print
Next i
Print Sum
End Sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯