C++ 程式查詢矩陣的轉置


矩陣是以行和列形式排列的數字的矩形陣列。矩陣的轉置是一個新矩陣,其中原始矩陣的行現在是列,反之亦然。例如。

矩陣如下所示 −

1 2 3
4 5 6
7 8 9

上述矩陣的轉置如下。

1 4 7
2 5 8
3 6 9

查詢矩陣轉置的程式如下 −

示例

 線上演示

#include<iostream<
using namespace std;
int main() {
   int transpose[10][10], r=3, c=2, i, j;
   int a[3][3] = { {1, 2} , {3, 4} , {5, 6} };
   cout<<"The matrix is:"<<endl;
   for(i=0; i<r; ++i) {
      for(j=0; j<c; ++j)
      cout<<a[i][j]<<" ";
      cout<<endl;
   }
   cout<<endl;
   for(i=0; i<r; ++i)
   for(j=0; j<c; ++j) {
      transpose[j][i] = a[i][j];
   }
   cout<<"The transpose of the matrix is:"<<endl;
   for(i=0; i<c; ++i) {
      for(j=0; j<r; ++j)
      cout<<transpose[i][j]<<" ";
      cout<<endl;
   }
   return 0;
}

輸出

The matrix is:
1 2
3 4
5 6

The transpose of the matrix is:
1 3 5
2 4 6

在上述程式中,矩陣已初始化。然後顯示其值。這在以下程式碼段中顯示。

int a[3][3] = { {1, 2} , {3, 4} , {5, 6} };
cout<<"The matrix is:"<<endl;
for(i=0; i<r; ++i) {
   for(j=0; j<c; ++j)
   cout<<a[i][j]<<" ";
   cout<<endl;
}

使用巢狀 for 迴圈計算矩陣的轉置。這如下所示。

for(i=0; i<r; ++i)
for(j=0; j<c; ++j) {
   transpose[j][i] = a[i][j];
}

最後,獲取轉置,並在螢幕上列印。這是透過以下程式碼段完成的。

cout<<"The transpose of the matrix is:"<<endl;
for(i=0; i<c; ++i) {
   for(j=0; j<r; ++j)
   cout<<transpose[i][j]<<" ";
   cout<<endl;
}

更新於: 2020 年 6 月 24 日

13K+ 瀏覽

開啟您的職業生涯

完成課程即可獲得認證

開始
廣告