写一个函数,使给定的一个3×3的二维整型数组转置,即行列互换。
时间: 2024-12-13 11:15:11 浏览: 7
C语言将给定的3× 3的整型数组转置(行列互换)。
在C++中,你可以编写一个名为`transpose`的函数来实现3x3矩阵的转置。这个函数接受一个二维数组作为参数,然后通过交换每个元素的行和列来完成转置。以下是具体的代码示例:
```cpp
#include <iostream>
// 定义一个3x3的二维整型数组模板
template <typename T>
void transpose(T (&matrix)[3][3]) {
for (int i = 0; i < 3; ++i) {
for (int j = i; j < 3; ++j) {
// 交换矩阵[i][j]和[j][i]的值
T temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
// 主函数用于测试转置函数
int main() {
int originalMatrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
std::cout << "原矩阵:\n";
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
std::cout << originalMatrix[i][j] << " ";
}
std::cout << "\n";
}
transpose(originalMatrix);
std::cout << "转置后的矩阵:\n";
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
std::cout << originalMatrix[i][j] << " ";
}
std::cout << "\n";
}
return 0;
}
```
当你运行这个程序,它会先打印出原始的3x3矩阵,然后调用`transpose`函数进行转置,并再次打印转置后的矩阵。
阅读全文