很简单的题目 可我不会

来源:百度知道 编辑:UC知道 时间:2024/06/10 23:46:04
将3*3的矩阵转置我编了个程序
Private Sub Form_click()
Dim a(1 To 3, 1 To 3), i As Byte, j As Byte, t As Byte
For i = 1 To 3
For j = 1 To 3
a(i, j) = Val(InputBox("a(" & i & "," & j & ")=?"))
Next j
Next i
For i = 2 To 3
For j = 1 To i - 1
t = a(i, j): a(i, j) = a(j, i): a(j, i) = t
Next j
Next i
For i = 1 To 3
For j = 1 To 3
Print a(j, i);
Next j
Print
Next i
End Sub
为什么输出的还是原来的矩阵,没有转置呢?

因为你输出时又转置了一下……
For i = 1 To 3
For j = 1 To 3
Print a(j, i);'<---这里为什么不是 Print a(i, j);呢 呵呵
Next j
Print
Next i

什么意思哦?
Private Sub Form_click()
Dim a(1 To 3, 1 To 3), i As Byte, j As Byte, t As Byte
For i = 1 To 3
For j = 1 To 3
a(i, j) = Val(InputBox("a(" & i & "," & j & ")=?"))
Next j
Next i
For i = 2 To 3
For j = 1 To i - 1
t = a(i, j): a(i, j) = a(j, i): a(j, i) = t
Next j
Next i

For i = 1 To 3
For j = 1 To 3
Print a(i, j);
Next j
Print
Next i
End Sub
如果本来是:
1 2 3
4 5 6
7 8 9
输出结果
1 4 7
2 5 8
3 6 9