內容 :
已知一(m x n)矩陣A,我們常常需要用到另一個將A中之行與列調換的矩陣。這個動作叫做矩陣的翻轉。舉例來說,若
現在 請您針對所讀取到的矩陣進行翻轉。
A = [ 3 1 2 ] 8 5 4
則
AT = [ 3 8 ] 1 5 2 4
現在 請您針對所讀取到的矩陣進行翻轉。
輸入說明 :
第一行會有兩個數字,分別為 列(row)<100 和 行(column)<100,緊接著就是這個矩陣的內容
輸出說明 :
直接輸出翻轉後的矩陣
範例輸入 :
2 3
3 1 2
8 5 4
範例輸出 :
3 8
1 5
2 4
網誌管理員已經移除這則留言。
回覆刪除Dim X(99, 99) As Integer
回覆刪除Private Sub Form_Load()
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Input #1, M, N
For i = 1 To M
For j = 1 To N
Input #1, A
X(i, j) = A
Next j
Next i
For i = 1 To N
ans = ""
For j = 1 To M
ans = ans & " " & X(j, i)
Next j
Print #2, ans
Next i
Close #2
Close #1
End
End Sub
Private Sub Form_Load()
回覆刪除Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Input #1, a, b
Dim D(99, 99), ans
For i = 1 To a
For j = 1 To b
Input #1, n
D(i, j) = n
Next
Next
For i = 1 To b
ans = ""
For j = 1 To a
ans = ans & " " & D(j, i)
Next
Print #2, ans
Next
Close
Close
End
End Sub
//-----
還是你的方法好呢
原本我一開始想用的方法折騰了半天
還是弄不太出來
佑、arro好,
回覆刪除你們程式都正確。
但是,其實用成一維陣列,就可以了。
dim x(1000)
Input #1, M, N
k=0
For i = 1 To M
For j = 1 To N
Input #1, A
k=k+1
X(k) = A
Next j
Next i
'輸出時m和n互換,加上利用print換行的功能,就行了。
k=0
For i = 1 To N
For j = 1 To M
k=k+1
print #2,X(k) ;
Next j
print #2,""
Next i
這樣也是可以的。