将二维数组行列元素互换,存到另一个数祖中
时间: 2023-12-07 10:55:20 浏览: 74
假设原始的二维数组为 `arr`,其中有 `m` 行和 `n` 列,我们可以创建一个新的二维数组 `new_arr`,其中有 `n` 行和 `m` 列,然后将 `arr` 中的每个元素 `(i, j)` 赋值到 `new_arr` 的 `(j, i)` 位置上,即可完成行列元素互换。具体的代码实现如下:
```python
# 假设原始二维数组为 arr,其中有 m 行和 n 列
m, n = len(arr), len(arr[0])
# 创建新的二维数组 new_arr,其中有 n 行和 m 列
new_arr = [[0] * n for _ in range(m)]
# 将 arr 中的每个元素 (i, j) 赋值到 new_arr 的 (j, i) 位置上
for i in range(m):
for j in range(n):
new_arr[j][i] = arr[i][j]
```
这样,`new_arr` 中的行列元素就完成了互换,可以根据需求对其进行进一步的操作。
相关问题
将二维数组行列元素互换,存到另一个数组中
假设原始的二维数组为`arr`,它的行数为`m`,列数为`n`,我们可以创建一个新的二维数组`newArr`,它的行数和列数分别为`n`和`m`。然后遍历原始数组中的每个元素,将其行列互换后存储到新数组中即可。
下面是一个示例代码:
```python
m = len(arr)
n = len(arr[0])
# 创建新数组
newArr = [[0 for j in range(m)] for i in range(n)]
# 将原数组的行列元素互换存储到新数组中
for i in range(m):
for j in range(n):
newArr[j][i] = arr[i][j]
```
这样,`newArr`就是行列互换后的数组了。
C语言将二维数组行列元素互换,存到另一个数组中
可以使用双重循环来实现二维数组行列元素互换,具体步骤如下:
1. 定义一个新的二维数组,与原数组大小相同,用于存储交换后的结果。
2. 双重循环遍历原数组,将原数组的行作为新数组的列,原数组的列作为新数组的行,将元素进行交换。
3. 输出新数组即可。
以下是示例代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
int arr[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int arr_transpose[COLS][ROWS];
int i, j;
// 将原数组的行作为新数组的列,原数组的列作为新数组的行
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
arr_transpose[j][i] = arr[i][j];
}
}
// 输出交换后的新数组
for (i = 0; i < COLS; i++) {
for (j = 0; j < ROWS; j++) {
printf("%d ", arr_transpose[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
1 5 9
2 6 10
3 7 11
4 8 12
```
阅读全文