用c++数组实现对二维数组进行转置,即:将二维数组a的行变成列,存到另一个数组b中
时间: 2024-10-16 09:02:40 浏览: 13
在C++中,我们可以创建一个新的二维数组`b`,其行数等于原数组`a`的列数,然后通过嵌套循环来实现数组`a`的转置。以下是简单的步骤:
```cpp
#include <iostream>
using namespace std;
// 原始二维数组
int a[rows][cols];
// 转置后的二维数组
int b[cols][rows]; // 注意交换了行和列
// 转置函数
void transpose(int (&a)[rows][cols], int (&b)[cols][rows]) {
for (size_t i = 0; i < rows; i++) { // 遍历原数组的每一行
for (size_t j = 0; j < cols; j++) { // 遍历原数组的每列
b[j][i] = a[i][j]; // 将原数组元素复制到转置数组对应位置
}
}
}
int main() {
// 初始化a和b
// ...
// 调用转置函数
transpose(a, b);
// 检查转置是否成功
for (size_t i = 0; i < cols; i++) {
for (size_t j = 0; j < rows; j++) {
cout << b[i][j] << " ";
}
cout << endl;
}
return 0;
}
阅读全文