C ++数组中负数元素的平均值

时间:2015-12-11 21:17:30

标签: c++ arrays

我需要找到二维数组中负面元素的平均值。这是我到目前为止所得到的:

#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 个答案:

答案 0 :(得分: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可能很难进行,所以你可以这样做:

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