Test Message

a015: 矩陣的翻轉

內容

已知一(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


解題思路

讀取時案行讀取,存成一個二維陣列,輸出時案列輸出。


完整程式碼

AC (2ms, 92KB)
#include <stdio.h>

int row = 0, col = 0 , matrix[100][100];

int main()
{
while (scanf(" %d %d", &row, &col) == 2)
{
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
scanf(" %d", &matrix[j][i]);
}
for (int i = 0; i < col; i++)
{
for (int j = 0; j < row; j++)
printf("%d ", matrix[i][j]);
putchar('\n');
}
}
return 0;
}