Написать функцию: обнулить все элементы, которые больше среднего арифметического элементов исходного массива - 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().