用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<<"矩阵为:"<<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;

}

以上是 用C ++程序查找矩阵的转置 的全部内容, 来源链接: utcz.com/z/316488.html

回到顶部