Написать функцию: обнулить все элементы, которые больше среднего арифметического элементов исходного массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать функцию, которая в массиве вещественных чисел обнуляет все элементы, которые больше среднего арифметического значения элементов исходного массива.

Решение задачи: «Написать функцию: обнулить все элементы, которые больше среднего арифметического элементов исходного массива»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4.  
  5. void null(float *,int);
  6.  
  7. int main(void) {
  8.     int n;
  9.     printf("Kolvo elementov massiva - ");
  10.     scanf("%d",&n);
  11.     float a[n];
  12.     for (int i=0;i<n;i++)
  13.     {
  14.         printf("a[%d]= ",i+1);
  15.         scanf("%f",&a[i]);
  16.     }
  17.     null(a, n);
  18.     for (int i=0;i<n;i++)
  19.         printf("%.2f ",a[i]);
  20.     system("pause");
  21.     return 0;
  22. }
  23.  
  24. void null(float *a, int n) {
  25.     float s = 0;
  26.     for(int i=0;i<n;i++)
  27.         s+=a[i];
  28.     s=s/n;
  29.     for(int i=0;i<n;i++)
  30.         if (a[i]>s)
  31.             a[i]=0;
  32. }

Объяснение кода листинга программы

В этом коде:

  1. #include Включается заголовочный файл, который содержит функции для работы с консолью ввода-вывода.
  2. #include Включается заголовочный файл, который содержит функции для работы с Windows API.
  3. *void null(float ,int);** Функция, которая будет обнулять элементы массива, больше среднего.
  4. int main(void) { Начало функции main() или главной функции программы.
  5. int n; Объявляется переменная типа int для хранения количества элементов в массиве.
  6. printf(Kolvo elementov massiva -); Выводится сообщение для ввода количества элементов в массив.
  7. scanf(%d,&n); Считывается количество элементов в массив.
  8. float a[n]; Объявляется массив типа float для хранения элементов.
  9. for (int i=0;i<n;i++) Цикл для заполнения массива элементами.
  10. printf(a[%d]=,i+1); Выводится сообщение для ввода элемента массива.
  11. scanf(%f,&a[i]); Считывается элемент массива.
  12. null(a, n); Вызывается функция null(), которая обнуляет элементы массива, больше среднего.
  13. for (int i=0;i<n;i++) Цикл для вывода элементов массива.
  14. printf(%.2f,a[i]); Выводится элемент массива с округлением до двух знаков после запятой.
  15. system(pause); Вызов функции system(), которая приостанавливает выполнение программы до нажатия клавиши.
  16. return 0; Конец функции main() или главной функции программы.
  17. *void null(float a, int n) {** Начало функции null().
  18. float s = 0; Объявляется переменная типа float для хранения суммы элементов массива.
  19. for(int i=0;i<n;i++) Цикл для вычисления суммы элементов массива.
  20. s+=a[i]; Сумма элементов массива увеличивается на текущий элемент.
  21. s=s/n; Сумма элементов массива делится на количество элементов.
  22. for(int i=0;i<n;i++) Цикл для сравнения и обнуления элементов массива.
  23. if (a[i]>s) Если текущий элемент больше среднего, то он обнуляется.
  24. a[i]=0; Текущий элемент массива обнуляется.
  25. } Конец функции null().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы