用c++编写一个3×3矩阵转置的函数,在main()函数中输入数据。
时间: 2024-10-29 21:15:08 浏览: 67
在C++中,你可以编写一个名为`transposeMatrix`的函数,接受一个3x3的二维整数数组作为参数,然后通过交换行和列的方式来完成矩阵的转置。下面是一个简单的例子:
```cpp
#include <iostream>
// 定义一个3x3矩阵的结构体或类
struct Matrix3x3 {
int data[3][3];
};
// 函数用于矩阵转置
void transposeMatrix(Matrix3x3& matrix) {
for(int i = 0; i < 3; ++i) {
for(int j = i + 1; j < 3; ++j) {
// 临时存储第i行第j列的元素
int temp = matrix.data[i][j];
// 将元素从j行移动到i行
matrix.data[j][i] = matrix.data[i][j];
// 将临时存储的元素放回原位置
matrix.data[i][j] = temp;
}
}
}
// 主函数main()用于输入数据并调用转置函数
int main() {
Matrix3x3 m;
std::cout << "Enter a 3x3 matrix:\n";
for(int i = 0; i < 3; ++i) {
for(int j = 0; j < 3; ++j) {
std::cin >> m.data[i][j];
}
}
transposeMatrix(m);
std::cout << "Transposed matrix is:\n";
for(int i = 0; i < 3; ++i) {
for(int j = 0; j < 3; ++j) {
std::cout << m.data[j][i] << "\t";
}
std::cout << "\n";
}
return 0;
}
```
在这个程序中,用户在主函数`main()`里输入一个3x3矩阵,然后`transposeMatrix`函数会计算并更新矩阵的转置版本。最后,它会打印出转置后的矩阵。
阅读全文