2014-11-23 55 views
0

我有一個數組數組元素,另一個數組被稱爲選擇這是一個3和3的0和1的數組。如果選擇1,則表示通過元素數組中的相應元素值增加總和。一旦所有元素加在一起,就會將它們除以所選元素的數量。有沒有更好的方法一起使用這兩個數組來實現相同的結果?

我該如何改進此代碼,因爲它看起來笨重,我不確定它是否非常有效?

//Selection Array 
    selection = new int [][]{ 
        {0,1,0,}, 
        {1,1,1,}, 
        {0,1,0} 
        }; 

//Calculate number selected 
numberinselection=.....code to add up numbers in selection array above 

//Add up selected elements 

float sum=0; 
sum +=2*elements[x][y][subject]*selection[1][1]; 
sum +=elements[x][yminus][subject]*selection[1][0]; 
sum +=elements[x][yplus][subject]*selection[1][2];    
sum +=elements[xminus][y][subject]*selection[0][1]; 
sum +=elements[xplus][y][subject]*selection[2][1]; 

sum = sum/numberinselection; 
+0

此外,元素數組要大得多/與選擇數組的大小不同。 – Munkybunky 2014-11-23 23:35:24

回答

-1
for(i=0;i<3;i++) 
    for(j=0;j<3;j++) 
     sum+=elements[i][j]*selection[i][j] 

嘗試這些代碼。

+1

即使這是正確的解決方案,你應該做一些解釋*爲什麼*這是正確的解決方案。 – Makoto 2014-11-23 23:35:15

相關問題