profile
Опубликовано 5 лет назад по предмету Информатика от marselago238

Составьте программу вычисления среднего арифметического отрицательных элементов массива C++

  1. Ответ
    Ответ дан Giammy

    #include <iostream>

    #define _ std::

    int main()  {

    int *a = new int[100];

    int n, sum=0, c=0;

    _ cin >> n;

    for (int i = 0; i < n; i++) {

     _ cin >> a[i];

     if (a[i] < 0) {

      sum += a[i];

      c++;

     }

    }

    _ cout << (c != 0 ? (double)sum / c : 0)<<_ endl;

       return 0;

    }

    1. Ответ
      Ответ дан DigitalAnnihilator
      По тому что так никто не делает, на это есть ряд причин:
    2. Ответ
      Ответ дан DigitalAnnihilator
      Это не очевидно, зачем за дефайном символа _ прятать неймспейс?? Если его можно заюзать using-ом
    3. Ответ
      Ответ дан DigitalAnnihilator
      Это влечет за собой коллизию, есть вероятность, что в некоторых местах данный символ будет заменен на неймспейс - вы не скомпилируете бинарь
    4. Ответ
      Ответ дан DigitalAnnihilator
      Вы нарушаете принцип инкапсуляции, неймспейс же был создан для нее, следовательно, вы деградируете язык.
    5. Ответ
      Ответ дан DigitalAnnihilator
      Последнее - самый веский аргумент и если вы с ним не согласны - не пишите на C++, по тому, что это его основные принципы