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

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

Задать свой вопрос
1 ответ

Как-то так:

include lt;iostreamgt;


using namespace std;


// В данном образце я использовал типы float, т. к. при попытке разделять 3 на 2 мы получаем 1.5, но тип int отрезает все после .


int main()

   cout lt;lt; "Task 30240725!" lt;lt; endl; // just for fun


   int m[12] = -1,-2,3,4,5,6,7,8,9,10,11,12; // Инициализируем массив из 12 частей, чтоб хоть доли из их была отрицательная


   // среднее арифметическое состоит из сумма_числел / кол-во_чисел


   float min_sum = 0;          // сумма чисел

   float total_min_count = 0;  // кол-во чисел


   // Инициализиуем цикл от 0 (т. к. все массивы начинаются с 0) до 12 не включительно (т. к. всего элементов 12 начиная с 0. Значит 11)

   for (int i = 0; i lt; 12; i++)


       // если текущий элемент массива m от индекса i меньше чем 0, означает это отрицательное число

       if (m[i] lt; 0)


           min_sum += m[i];    // складываем, конкретно, само число m[i]

           total_min_count++;  // увеличиваем кол-во чисел на 1. Можно написать строку вида total_min_count = total_min_count + 1; - сущность не обменяется


       

   


   // Если в массиве не было отрицательных чисел, то делаем проверку. Если кол_во_чисел и сумма_чисел равны 0 означает в массиве не было отрицательных чисел.

   // а т. к. по умолчанию min_sum и total_min_count равны 0, то при попытке поделить их получим ошибку. Для этого обрабатываем это условие, чтобы не дать ее допустить.

   if (total_min_count == 0 amp;amp; min_sum == 0)

       // Выкидываем извещение, дескать, нету в массиве отрицательных чисел, работать не буду

       cout lt;lt; "There are no negative numbers in the array" lt;lt; endl;


       // делаем return, дабы программка не продолжила исполнение

       return 0;

   


   // если же у нас есть и кол-во_чисел и общая_сумма, то смирно разделяем одно на иное и сходу выводим в консоль итог.

   cout lt;lt; "Average: " lt;lt; min_sum / total_min_count lt;lt; endl;


   // заканчиваем выполнение программы

   return 0;

Lidija
Можно поинтересоваться, для чего для переменных min_sum и total_min_count вы выделяете типом float? Чисел может быть полтора? Одна единичка и половина двоечки? Либо какой смысл выделять такой объём памяти ради количества каких-то целочисленных объектов?
Мила Бахрутдинова
выделяете тип*
Варвара Дейтер
Оу, прощу помилованья, не направил внимание на деление.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт