java将一个二维数组行列元素互换,存到另一个二维数组中,求取转置。
时间: 2024-06-19 20:03:57 浏览: 14
要将一个二维数组行列元素互换,存到另一个二维数组中,就需要进行转置操作。可以通过以下代码实现:
```java
int[][] arr1 = {{1,2,3},{4,5,6},{7,8,9}};
int[][] arr2 = new int[arr1.length][arr1.length];
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr1.length;j++){
arr2[j][i] = arr1[i][j];
}
}
```
以上代码中,`arr1`是原始的二维数组,`arr2`是转置后的二维数组。首先定义一个和原始数组行列相反的二维数组`arr2`,然后通过两个循环遍历`arr1`中的元素,并将其按照列行互换的方式存入`arr2`中。
相关问题
C语言将二维数组行列元素互换,存到另一个数组中
可以通过循环遍历原数组,将行列元素互换后存储到另一个数组中。具体代码如下:
```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 transposed[COLS][ROWS]; // 存储转置后的数组
// 输出原数组
printf("Original array:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 转置数组
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
transposed[j][i] = arr[i][j];
}
}
// 输出转置后的数组
printf("\nTransposed array:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
这里我们定义了两个二维数组 `arr` 和 `transposed`,其中 `arr` 是原始数组,`transposed` 是转置后的数组。首先我们输出原数组,然后使用嵌套循环遍历原数组,将行列元素互换后存储到 `transposed` 数组中。最后输出转置后的数组。
用c语言编写一个程序,将二维数组行列元素互换,存到另一个数组中
以下是用C语言编写的程序,将二维数组行列元素互换,并将结果存储到另一个数组中:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
void transpose(int arr[][COLS], int arrT[][ROWS]);
int main() {
int arr[ROWS][COLS] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int arrT[COLS][ROWS];
transpose(arr, arrT);
printf("Original Array:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("\nTransposed Array:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", arrT[i][j]);
}
printf("\n");
}
return 0;
}
void transpose(int arr[][COLS], int arrT[][ROWS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
arrT[j][i] = arr[i][j];
}
}
}
```
程序中使用了两个二维数组,`arr`表示原始数组,`arrT`表示转置后的数组。`transpose()`函数用于将`arr`数组的行列元素互换,并将结果存储到`arrT`数组中。在`main()`函数中,先输出原始的`arr`数组,再输出转置后的`arrT`数组。