将二维数组行列元素互换,存到另一个数组中
时间: 2023-04-23 12:03:50 浏览: 253
可以使用两个循环来遍历原数组,将每个元素的行列互换后存入新的数组中。具体实现可以参考以下代码:
```python
# 原数组
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 新数组
new_arr = [[ for j in range(len(arr))] for i in range(len(arr[]))]
# 遍历原数组,将每个元素的行列互换后存入新数组
for i in range(len(arr)):
for j in range(len(arr[])):
new_arr[j][i] = arr[i][j]
# 输出新数组
print(new_arr)
```
输出结果为:
```
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
```
相关问题
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
```
将二维数组行列元素互换,存到另一个数祖中
假设原始的二维数组为 `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` 中的行列元素就完成了互换,可以根据需求对其进行进一步的操作。