a为M行N列得二维数组,将a中的行和列交换C++
时间: 2024-02-27 09:57:39 浏览: 244
您好!针对您的问题,可以使用以下代码实现二维数组行列交换:
```c++
#include <iostream>
using namespace std;
const int MAX = 100;
void exchange(int a[][MAX], int m, int n) {
int b[MAX][MAX];
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
b[j][i] = a[i][j];
}
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
a[i][j] = b[i][j];
}
}
}
int main() {
int a[MAX][MAX], m, n;
cout << "请输入数组的行数和列数:";
cin >> m >> n;
cout << "请输入数组元素:" << endl;
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
cin >> a[i][j];
}
}
exchange(a, m, n);
cout << "交换后的数组为:" << endl;
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在上述代码中,我们定义了一个名为 `exchange` 的函数,用于实现二维数组行列交换。具体实现思路为:
1. 定义一个与原二维数组大小相反的二维数组 `b`;
2. 将原二维数组的元素逐个复制到 `b` 中,但是行和列交换;
3. 将 `b` 中的元素逐个复制回原二维数组中,完成交换过程。
最后,我们在 `main` 函数中读取输入的二维数组,调用 `exchange` 函数进行交换操作,最后输出交换后的结果。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)