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

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

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

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

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

textual
Листинг программы
#include <stdio.h> 
#include <windows.h> 
 
 
void null(float *,int);
 
int main(void) {
    int n;
    printf("Kolvo elementov massiva - ");
    scanf("%d",&n);
    float a[n];
    for (int i=0;i<n;i++)
    {
        printf("a[%d]= ",i+1);
        scanf("%f",&a[i]);
    } 
    null(a, n);
    for (int i=0;i<n;i++)
        printf("%.2f ",a[i]);
    system("pause");
    return 0;
}
 
void null(float *a, int n) {
    float s = 0;
    for(int i=0;i<n;i++)
        s+=a[i];
    s=s/n;
    for(int i=0;i<n;i++)
        if (a[i]>s) 
            a[i]=0;
}

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

В этом коде:

  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
Похожие ответы