C++编写一个 3X3 矩阵转置的函数,在 main()函数中输入数据
时间: 2024-10-28 13:15:14 浏览: 106
在C++中,我们可以创建一个名为`transposeMatrix`的函数,用于接收一个3x3矩阵并返回其转置。首先,我们需要定义一个二维数组来表示矩阵,并在`main()`函数中获取用户输入。以下是详细的步骤:
```cpp
#include <iostream>
// 定义一个3x3矩阵结构体
struct Matrix3x3 {
int elements[3][3];
};
// 函数定义:矩阵转置
void transposeMatrix(Matrix3x3& matrix) {
for (int i = 0; i < 3; ++i) {
for (int j = i; j < 3; ++j) {
// 交换行和列元素
std::swap(matrix.elements[i][j], matrix.elements[j][i]);
}
}
}
// 主函数 main()
int main() {
Matrix3x3 inputMatrix;
// 输入矩阵元素
std::cout << "请输入3x3矩阵的九个数字,每行三个,用空格分隔:" << std::endl;
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
std::cin >> inputMatrix.elements[i][j];
}
std::cin << std::endl; // 按回车结束一行输入
}
// 转置矩阵
transposeMatrix(inputMatrix);
// 输出转置后的矩阵
std::cout << "转置后的矩阵为:" << std::endl;
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
std::cout << inputMatrix.elements[i][j] << ' ';
}
std::cout << std::endl;
}
return 0;
}
```
在这个程序中,我们首先通过`std::cin`从用户那里获取输入,然后传递给`transposeMatrix`函数,最后将结果输出到屏幕上。
阅读全文