矩阵转置c
时间: 2023-09-02 16:09:48 浏览: 39
矩阵转置是将矩阵的行和列互换位置的操作。在 C++ 中,可以使用二维数组来表示矩阵,并通过循环遍历实现转置。
以下是一个基本的矩阵转置的 C++ 代码示例:
```c++
#include <iostream>
using namespace std;
const int ROWS = 3;
const int COLS = 3;
void transpose(int arr[][COLS], int transposed[][ROWS]) {
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
transposed[j][i] = arr[i][j];
}
}
}
int main() {
int arr[ROWS][COLS] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int transposed[COLS][ROWS];
// 转置矩阵
transpose(arr, transposed);
// 打印原矩阵
cout << "Original matrix:\n";
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
cout << arr[i][j] << " ";
}
cout << "\n";
}
// 打印转置后的矩阵
cout << "\nTransposed matrix:\n";
for (int i = 0; i < COLS; ++i) {
for (int j = 0; j < ROWS; ++j) {
cout << transposed[i][j] << " ";
}
cout << "\n";
}
return 0;
}
```
输出结果为:
```
Original matrix:
1 2 3
4 5 6
7 8 9
Transposed matrix:
1 4 7
2 5 8
3 6 9
```
在此示例中,我们定义了 `transpose()` 函数来执行矩阵转置。该函数使用两个二维数组参数:原始矩阵 `arr` 和转置后的矩阵 `transposed`。函数通过循环遍历 `arr` 中的每个元素,并将其复制到 `transposed` 中,但是将行和列交换。最后,我们在 `main()` 函数中调用 `transpose()` 函数,并打印原始矩阵和转置矩阵。