21xrx.com
2024-12-23 00:02:51 Monday
登录
文章检索 我的文章 写文章
C++代码:矩阵转置
2023-06-25 05:40:13 深夜i     --     --
C++ 代码 矩阵 转置

矩阵转置是矩阵运算中常见的操作,它可以将矩阵的行和列交换。这个操作在许多计算机科学的领域中都是非常有用的,比如在图形处理和模式识别中。

下面是一个使用C++语言实现矩阵转置的代码。该代码使用了双重循环来遍历矩阵元素,通过交换行和列的索引实现转置。


#include <iostream>

using namespace std;

int main() {

  int m, n;

  cout << "请输入矩阵的行数和列数:";

  cin >> m >> n;

  int matrix[m][n];

  cout << "请输入矩阵元素:" << endl;

  for (int i = 0; i < m; i++) {

    for (int j = 0; j < n; j++) {

      cin >> matrix[i][j];

    }

  }

  int transposed[n][m];

  for (int i = 0; i < n; i++) {

    for (int j = 0; j < m; j++) {

      transposed[i][j] = matrix[j][i];

    }

  }

  cout << "转置后的矩阵为:" << endl;

  for (int i = 0; i < n; i++) {

    for (int j = 0; j < m; j++) {

      cout << transposed[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

以上代码中,我们首先询问用户需要输入的矩阵的行和列。然后,我们在程序中声明了一个二维数组 `matrix`,用于存储用户输入的矩阵元素。接着,我们使用双重循环遍历 `matrix` 数组,存储用户输入的矩阵元素。

接下来,我们声明了另一个二维数组 `transposed`,用于存储转置后的矩阵。在第二个双重循环中,我们使用 `matrix` 数组中的行索引和列索引交换的方式填充 `transposed` 数组,实现矩阵转置。

最后,我们使用双重循环遍历 `transposed` 数组,输出转置后的矩阵。

这是一个基本的矩阵转置操作的实现,可以应用于大部分相关的应用场景。在实际中,如果矩阵规模非常大,可能需要优化程序以提高效率。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复