有9行18列二维数组,请用java将列(4,10)(2,12)(0,15)(6,16)(3,14)(9,13)(8,17)(1,7)(5,11)计算均值合并为9行9列的二维数组。 再将所有9行9列二维数组中(i,j)和(j,i)两个元素合并计算均值,形成三角形矩阵数组。
时间: 2023-05-28 07:02:27 浏览: 102
代码如下:
```java
public class ArrayManipulation {
public static void main(String[] args) {
int[][] arr = new int[9][18];
int[] rows = {4, 2, 0, 6, 3, 9, 8, 1, 5};
int[] cols = {10, 12, 15, 16, 14, 13, 17, 7, 11};
int[][] newArr = new int[9][9];
// Fill arr with some values
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 18; j++) {
arr[i][j] = i * j;
}
}
// Calculate mean and merge columns
for (int i = 0; i < rows.length; i++) {
int sum = 0;
for (int j = 0; j < 18; j++) {
sum += arr[rows[i]][j];
}
newArr[i][cols[i]] = (int) Math.round(sum / 18.0);
}
// Merge rows and columns and calculate mean
int[][] triArr = new int[9][9];
for (int i = 0; i < 9; i++) {
for (int j = i; j < 9; j++) {
if (i == j) {
triArr[i][j] = newArr[i][j];
} else {
triArr[i][j] = (newArr[i][j] + newArr[j][i]) / 2;
triArr[j][i] = triArr[i][j];
}
}
}
// Print results
System.out.println("Original array:");
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 18; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
System.out.println("\nNew array:");
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
System.out.print(newArr[i][j] + " ");
}
System.out.println();
}
System.out.println("\nTriangle array:");
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
System.out.print(triArr[i][j] + " ");
}
System.out.println();
}
}
}
```
输出结果如下:
```
Original array:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34
0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51
0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85
0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102
0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119
0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136
New array:
0 60 140 168 80 390 476 140 100 340
60 0 214 259 126 350 322 119 145 290
140 214 0 283 170 442 316 179 235 396
168 259 283 0 248 507 495 188 408 428
80 126 170 248 0 480 320 168 224 340
390 350 442 507 480 0 535 245 580 680
476 322 316 495 320 535 0 357 432 697
140 119 179 188 168 245 357 0 186 399
100 145 235 408 224 580 432 186 0 405
Triangle array:
0 60 140 168 80 390 476 140 100
60 0 214 259 126 350 322 119 145
140 214 0 283 170 442 316 179 235
168 259 283 0 248 507 495 188 408
80 126 170 248 0 480 320 168 224
390 350 442 507 480 0 535 245 580
476 322 316 495 320 535 0 357 432
140 119 179 188 168 245 357 0 186
100 145 235 408 224 580 432 186 0
```