2015-12-11 40 views
-4

我需要找到二維數組中負數元素的平均值。這是我到目前爲止有:數組中的負數元素的平均值

#include <iostream> 

using namespace std; 

int main() { 
    int A[3][3]; 
    int i, j; 

    for(i = 0; i < 3; i++) 
     for(j = 0; j < 3; j++) { 
      cout << "\n A[" << i + 1 << "][" << j + 1 <<"]="; 
      cin >> A[i][j]; 
     } 

    for(i = 0; i < 3; i++) { 
     for(j = 0; j < 3; j++) 
      cout << A[i][j] << "\t"; 

     cout << "\n"; 
    } 
} 
+1

還有呢?你忘了問一個實際的問題。 – NathanOliver

+2

你不執行任何算術。你知道如何總結數值,測試它們是否爲負數,算數? –

+0

好吧,我試着找到我的這和的總和(i = 0; i <3; i ++) sum + = A [i]; cout << sum; – Fingolfin

回答

0

例如,你可以做到這一點:

int negNumber = 0; 
int sum = 0; 

for (int i = 0; i < 3; ++i) { 
    for (int j = 0; j < 3; ++j) { 
    if (A[i][j] < 0) { 
     ++negNumber; // increase negatives numbers found 
     sum += A[i][j]; // add to our result the number 
    } 
    } 
} 

sum = negNumber > 0 ? sum/negNumber : sum; // we need to check if we found at least one negative number 

我希望它會幫助你,但要小心!它將返回一個截斷值(一個int)。

ternary operation可能難以undertand這樣你就可以做到這一點:

if (negNumber > 0) { 
    sum /= negNumber; 
} 
+1

應該指出,這會返回一個截斷的平均值。 – nwn

+0

確實。由於它是一個'int數組',我認爲總和也必須是一個'整數',但這是一個錯誤的抱歉。 – Ankirama