我有10个2D阵列,它们是7x5,每个都代表一个存储RGB值平均值的图像。我现在想要将存储35个值的这些数组中的每一个复制到大小为35x10的2D数组中,但是我想按列存储每个数组,即。将第一个2D数组复制到35x10数组的第一列,因此每列垂直存储其中一个图像。
所以我试图将这些2D数组中的每一个存储在同一个2D数组中的不同列中:
图片1:
0 27 38 40 0
67 80 85 97 94
90 82 84 110 119
99 66 117 116 115
111 93 82 122 149
119 106 102 133 123
0 52 72 58 0
图片2:
0 0
34 27
40 38
50 40
0 0
91 67
55 80
60 85
64 97
102 94
....
期望的输出:
public static void populateArray() {
for (int r = 0; r < image1.length; r++) {
for (int c = 0; c < image1[r].length; c++) {
pixArray[r][c] = image1[r][c];
}
}
System.out.println("\n");
for (int r = 0; r < image2.length; r++){
for(int c=0;c < image2[r].length;c++){
pixArray[r][c+1]=image2[r][c];
}
}
for (int i = 0; i < pixArray.length; i++) {
for (int j = 0; j < pixArray[i].length; j++) {
System.out.print(pixArray[i][j] + " ");
}
System.out.println();
}
}
}
这是我到目前为止的代码:
shared_ptr
答案 0 :(得分:1)
你必须做这样的事情
for (int r = 0; r < image1.length; r++) {
for (int c = 0; c < image1[r].length; c++) {
pixArray[r*image1[0].length+c][0] = image1[r][c];
}
}
for (int r = 0; r < image2.length; r++) {
for (int c = 0; c < image2[r].length; c++) {
pixArray[r*image2[0].length+c][1] = image2[r][c];
}
}