用vb设计一个3行4列的二维数组,分别求出每一行每一列元素之和,求代码

用vb设计一个3行4列的二维数组,分别求出每一行每一列元素之和,求代码

'定义一个多一行多一列的数组,就象表格,把汇总结果放在后头

Private Sub Command1_Click()
Dim Source
Source = "4,35,43,56;43,65,34,26;34,54,35,56"
'Source = InputBox("行以分号分隔,列以逗号分隔"): If Source = Empty Then Exit Sub'可以改为对话框输入
Dim Table(1 To 4, 1 To 5)
Dim arLine, arCol
arLine = Split(Source, ";") '分隔字符串
Dim i As Integer, j As Integer
'数据填充到表格
For i = 1 To 3 '三行
    arCol = Split(arLine(i - 1), ",") '分隔每行字符串的列
    For j = 1 To 4 '四列
        Table(i, j) = Val(arCol(j - 1))
    Next
Next
Dim sumLow, sumCol
'汇总表格行列,把结果加入表格最后行列
For i = 1 To 3 '三行
    For j = 1 To 4 '四列
        Table(i, 5) = Table(i, 5) + Table(i, j) '累加同行的数到最后一列
        Table(4, j) = Table(4, j) + Table(i, j) '累加同列的数到最后一行
    Next
Next
'显示
For i = 1 To UBound(Table, 1) '四行
    For j = 1 To UBound(Table, 2) '五列
        Print Table(i, j), ;
    Next
    Print
Next
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-16
function PrintMatrix(matrix)
 for line = 1, 3, 1 do
  for row = 1, 4, 1 do
   io.write(matrix[line][row], "  ")
  end
  io.write("\n")
 end
end
matrix = {}
for line = 1, 3, 1 do
 matrix[line] = {}
 for row = 1, 4, 1 do
  matrix[line][row] = line * row
 end
end
PrintMatrix(matrix)
for line = 1, 3, 1 do
 sumline = 0
 for row = 1, 4, 1 do
  sumline = sumline + matrix[line][row]
 end
 io.write("Line[", line, "] = ", sumline, "\n")
end
for row = 1, 4, 1 do
 sumrow = 0
 for line = 1, 3, 1 do
  sumrow = sumrow + matrix[line][row]
 end
 io.write("Row[", row, "] = ", sumrow, "\n")
end

Lua 实现

第2个回答  2014-01-11
Private Sub Form_Click()
Dim a(1 To 3, 1 To 4) As Integer
Dim h(1 To 3) As Integer
Dim l(1 To 3) As Integer
For i = 1 To 3
For j = 1 To 4
a(i, j) = InputBox("请输入第" & i & "行" & "第" & j & "列的值") '给二维数组给元素赋值
Next j
Next i
For i = 1 To 3
For j = 1 To 4
h(i) = h(i) + a(i, j)
Next j
Print "第" & i & "行和="; h(i)
h(i) = 0
Next i
For j = 1 To 4
For i = 1 To 3
l(j) = l(j) + a(i, j)
Next i
Print "第" & j & "列和="; l(j)
Next j
End Sub