Написать функцию: обнулить все элементы, которые больше среднего арифметического элементов исходного массива - 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; }
Объяснение кода листинга программы
В этом коде:
- #include
Включается заголовочный файл, который содержит функции для работы с консолью ввода-вывода. - #include
Включается заголовочный файл, который содержит функции для работы с Windows API. - *void null(float ,int);** Функция, которая будет обнулять элементы массива, больше среднего.
- int main(void) { Начало функции main() или главной функции программы.
- int n; Объявляется переменная типа int для хранения количества элементов в массиве.
- printf(
Kolvo elementov massiva -
); Выводится сообщение для ввода количества элементов в массив. - scanf(
%d
,&n); Считывается количество элементов в массив. - float a[n]; Объявляется массив типа float для хранения элементов.
- for (int i=0;i<n;i++) Цикл для заполнения массива элементами.
- printf(
a[%d]=
,i+1); Выводится сообщение для ввода элемента массива. - scanf(
%f
,&a[i]); Считывается элемент массива. - null(a, n); Вызывается функция null(), которая обнуляет элементы массива, больше среднего.
- for (int i=0;i<n;i++) Цикл для вывода элементов массива.
- printf(
%.2f
,a[i]); Выводится элемент массива с округлением до двух знаков после запятой. - system(
pause
); Вызов функции system(), которая приостанавливает выполнение программы до нажатия клавиши. - return 0; Конец функции main() или главной функции программы.
- *void null(float a, int n) {** Начало функции null().
- float s = 0; Объявляется переменная типа float для хранения суммы элементов массива.
- 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; Текущий элемент массива обнуляется.
- } Конец функции null().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д