用C++编写并测试3×3矩阵转置函数,使用数组保存3×3矩阵。
时间: 2024-10-12 09:17:00 浏览: 61
在C++中,你可以创建一个名为`transposeMatrix`的函数,该函数接收一个3x3整数数组作为输入,然后返回其转置后的矩阵。这里是一个简单的例子:
```cpp
#include <iostream>
// 定义一个3x3矩阵的结构体
struct Matrix {
int elements[3][3];
};
// 函数用于计算3x3矩阵转置
void transposeMatrix(Matrix& original) {
Matrix transposed;
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
transposed.elements[j][i] = original.elements[i][j]; // 交换行和列的值
}
}
// 输出原矩阵和转置后的矩阵,便于测试
printMatrix(original);
printMatrix(transposed);
}
// 打印矩阵
void printMatrix(const Matrix& matrix) {
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
std::cout << matrix.elements[i][j] << " ";
}
std::cout << "\n";
}
}
// 测试函数
int main() {
Matrix input = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
transposeMatrix(input);
return 0;
}
```
在这个例子中,我们首先定义了一个包含3x3元素的矩阵结构。`transposeMatrix`函数通过两层循环交换了矩阵的行和列。然后,我们在`main`函数中创建一个3x3的矩阵,并调用`transposeMatrix`对其进行转置。
运行这个程序,你会看到原矩阵和转置后的矩阵。如果转置函数正常工作,那么原矩阵的第一行将成为新矩阵的第一列,以此类推。
阅读全文