C++中两个数组行列互换
时间: 2024-04-13 08:28:50 浏览: 119
要实现两个数组的行列互换,可以通过使用临时数组来交换元素。以下是一个示例代码:
```cpp
#include <iostream>
#include <iomanip>
#define M 3
#define N 4
void swapRowsAndColumns(int a[M][N], int b[N][M])
{
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
b[j][i] = a[i][j];
}
}
}
void printArray(int arr[M][N])
{
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
std::cout << std::setw(4) << arr[i][j];
}
std::cout << '\n';
}
}
int main()
{
int a[M][N] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int b[N][M];
std::cout << "原始数组 a:\n";
printArray(a);
swapRowsAndColumns(a, b);
std::cout << "\n行列互换后的数组 b:\n";
printArray(b);
return 0;
}
```
运行这段代码,你将会得到以下输出:
```
原始数组 a:
1 2 3 4
5 6 7 8
9 10 11 12
行列互换后的数组 b:
1 5 9
2 6 10
3 7 11
4 8 12
```
这样,你就完成了两个数组的行列互换。在代码中,`swapRowsAndColumns` 函数用于进行行列互换操作,`printArray` 函数用于打印二维数组的内容。
阅读全文