1. 程式人生 > >資料結構實驗之陣列一:矩陣轉置

資料結構實驗之陣列一:矩陣轉置

陣列——矩陣的轉置

給定一個m*n的矩陣(m,n<=100),求該矩陣的轉置矩陣並輸出。

Input

 輸入包含多組測試資料,每組測試資料格式如下:

第一行包含兩個數m,n

以下m行,每行n個數,分別代表矩陣內的元素。

(保證矩陣內的數字在int範圍之內)

Output

 對於每組輸出,輸出給定矩陣的轉置矩陣。兩組輸出之間用空行隔開。

Sample Input

2 3
1 2 3
4 5 6
1 1
1

Sample Output

1 4
2 5
3 6

1

Hint

雖然是用c++寫的,但是把輸入輸出改為c就OK了

#include <iostream>

using namespace std;

int main()
{
    int n,m,i,j,t;
    int a[110][110];
    while(cin>>n>>m)
    {
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            {
                cin>>a[i][j];
            }
        }
        for(i=0;i<n;i++)
        {
            for(j=i;j<m;j++)///j=i
            {
                t=a[i][j];
                a[i][j]=a[j][i];
                a[j][i]=t;
            }
        }
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
            {
                if(j!=n-1)cout<<a[i][j]<<" ";
                else cout<<a[i][j]<<endl;
            }
        }
        cout<<endl;
    }
    return 0;
}