矩阵是数字的矩形阵列,以行和列的形式排列。矩阵的转置是一个新的矩阵,其中原始行现在是列,反之亦然。例如。
矩阵如下-
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<<"矩阵为:"<<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 矩阵为:"<<endl; for(i=0; i<c; ++i) { for(j=0; j<r; ++j) cout<<transpose[i][j]<<" "; cout<<endl; } return 0; }
输出结果
矩阵为: 1 2 3 4 5 6 The transpose of 矩阵为: 1 3 5 2 4 6
在上面的程序中,矩阵被初始化。然后显示其值。在下面的代码片段中显示了这一点。
int a[3][3] = { {1, 2} , {3, 4} , {5, 6} }; cout<<"矩阵为:"<<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 矩阵为:"<<endl; for(i=0; i<c; ++i) { for(j=0; j<r; ++j) cout<<transpose[i][j]<<" "; cout<<endl; }