Найти количество элементов массива, отличающихся от среднего значения не более чем на 3 - C (СИ)
Формулировка задачи:
помогите доделать
сама задача:
11. Найти количество элементов массива, отличающихся от среднего зна-
чения элементов массива не более чем на 3.
я смог написать ток до расчета среднего арифметического значения элементов массива , а дальше чет запутался ... помогите пожалуйста..
#include <stdio.h> #include <math.h> #include <locale.h> #include <stdlib.h> #include <conio.h> int main(void) { setlocale( LC_ALL,"Russian" ); int a[10], i, n, min, k, j, sred,sum; printf("\n Введите количество элементов массива: "); scanf("%d",&n); for(i=0; i<n; i++) { printf("Введите а[%d]= ",i); scanf("%d",&a[i]); } printf("Массив a: \n"); for(i=0; i<n; i++) printf("%d ",a[i]); printf("\n"); for ( i = 0; i < n; i++ ) { sum += a[ i ]; k=sum-2; } sred=k/n; printf( "\n\n целое среднее арифметическое значение элементов массива = %d\n", sred ); getch(); return 0; }
Решение задачи: «Найти количество элементов массива, отличающихся от среднего значения не более чем на 3»
textual
Листинг программы
#include <stdio.h> #include <math.h> #include <locale.h> #include <stdlib.h> int main(void) { int *a, n, count = 0, sum = 0; double sred; setlocale (LC_ALL, "Russian" ); printf("Введите количество элементов массива: "); scanf ("%d", &n); a = (int *) malloc (n * sizeof (int)); for (int i = 0; i < n; i ++) { printf ("Введите а[%d] = ", i); scanf ("%d", &a [i]); sum += a [i]; } sred = sum / n; printf ("\n\nCреднее арифметическое значение элементов массива = %.3lf\n", sred); printf ("Массив a: \n"); for(int i = 0; i < n; i ++) { printf("%3d", a[i]); if (fabs (a [i] - sred) > 3) count ++; } printf ("\nКоличество элементов массива, отличающихся от среднего арифметического более, чем на три: %d\n", count); free (a); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Объявление переменных:
- a - указатель на массив
- n - количество элементов массива
- count - количество элементов, отличающихся от среднего значения более чем на 3
- sum - сумма всех элементов массива
- sred - среднее арифметическое значение элементов массива
- Установка локали на русский язык
- Ввод количества элементов массива с помощью функции scanf
- Выделение памяти под массив с помощью функции malloc
- Ввод элементов массива с помощью цикла for и функции scanf
- Вычисление суммы элементов массива с помощью цикла for и функции scanf
- Вычисление среднего арифметического значения элементов массива путем деления суммы на количество элементов
- Вывод среднего арифметического значения элементов массива с помощью функции printf
- Вывод элементов массива с помощью цикла for и функции printf
- Проверка каждого элемента массива на отличие от среднего значения более чем на 3 с помощью функции fabs и оператора if
- Увеличение значения переменной count при обнаружении элемента, отличающегося от среднего значения более чем на 3
- Вывод количества элементов, отличающихся от среднего значения более чем на 3, с помощью функции printf
- Освобождение памяти, выделенной под массив, с помощью функции free
- Возврат значения 0, сигнализирующего о завершении работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д