2017年12月30日 星期六

[C_AR33-易] 轉置矩陣(C++)

[C_AR33-易] 轉置矩陣

問題描述:
有一矩陣 N,M ,將其利用轉置方法改變矩陣。
輸入說明
輸入資料第一列為矩陣大小, N 、 M ,然後輸入矩陣數值。若 N 、 M 輸入 0 則結束程式。
輸出說明
得到轉置矩陣。
Sample InputSample Output
2 3
2 1 3
8 7 9
2 8
1 7
3 9
3 3
1 2 3
8 4 9
1 0 3
1 8 1
2 4 0
3 9 3
5 5
1 1 0 0 0
0 0 0 1 1
1 0 1 0 1
0 1 0 1 0
1 0 1 0 0
1 0 1 0 1
1 0 0 1 0
0 0 1 0 1
0 1 0 1 0
0 1 1 0 0

  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4. int main() {  
  5.     // [C_AR33-易] 轉置矩陣  
  6.     int N, M;  
  7.     while(cin >> N >> M)  
  8.     {  
  9.         if(N == 0 || M == 0)  
  10.         {  
  11.             break;  
  12.         }  
  13.         else  
  14.         {  
  15.             int m[N][M];  
  16.             int r[M][N];  
  17.             for(int i = 0;i < N;i++)  
  18.             {  
  19.                 for(int j = 0;j < M;j++)  
  20.                 {  
  21.                     cin >> m[i][j];  
  22.                     r[j][i] = m[i][j];  
  23.                 }  
  24.             }  
  25.             for(int i = 0;i < M;i++)  
  26.             {  
  27.                 for(int j = 0;j < N;j++)  
  28.                 {  
  29.                     if(j != 0)  
  30.                     {  
  31.                         cout << " " << r[i][j];  
  32.                     }  
  33.                     else  
  34.                     {  
  35.                         cout << r[i][j];  
  36.                     }  
  37.                 }  
  38.                 cout << endl;  
  39.             }  
  40.         }  
  41.     }  
  42.     return 0;  
  43. }  

沒有留言:

張貼留言