2016-12-03 18 views
0

2次元配列の各列の合計を計算します。次のように2D配列内の2D配列の列の合計を計算する

public static double[] colMean(double[][] array){ 
    double arrayCopy[] = new double[array.length]; 

    for(int i = 0; i < array.length; i++){ 
     double colSum = 0; 
     for(int k = 0; k < array.length ; k++){ 
      colSum = colSum + array[k][i]; 
     }  
     arrayCopy[i] = colSum; 
    } 
    return arrayCopy; 
} 
+0

ホープ? は、これまでのところ、私はこれを得ましたか – Mureinik

+0

列とまったく同じ数の行を持たない配列の合計を計算することはできません。 – Chris

答えて

0
//Create a destination array to store column sums 
//I'm supposing every row has the same number of columns 
for (int i=0; i<array[0].length; i++) { 
    destination_array[i]=0; 
} 

//Traversing the 2D array 
for (int i=0;i<array.length; i++) { 

    //Adding each column value at the column accumulator 
    for (int k=0;k<array[i].length;k++ { 
     destination_array[k]+=array[i][k]; 
    } 
} 

が、それはそう正確に何が問題である

+0

それは私の問題です。すべての行に同じ数の列がない場合はどうなりますか? – Chris

+0

次に、各行に対して、この数の列が存在するかどうかをチェックする必要があります。あなたは最初のループでそれを行うことができますし、あなたは正しいdimensionedを持っていますdestination_array – pekechis

+0

私はすでにそれを修正しました:) – Chris

0

あなたのループ:

for(int i = 0; i < array.length; i++){ 
     double colSum = 0; 
     for(int k = 0; k < array[i].length ; k++){ 
      colSum = colSum + array[i][k]; 
     } 
+0

しかし、私はすべての列を行にしたくない。 – Chris