Найти индексы элементов массива, значение которых ближе всего к найденному среднему арифметическому - C (СИ)
Формулировка задачи:
Напишите программу, которая находит среднее арифметическое между максимальным элементом и минимальным элементом массива, а также находит индекс(или индексы) элемента(ов), значение которого ближе всего к найденному среднему арифметическому.
Подскажите как найти индексы элементов значение которых ближе всего к среднему арифметическому
double m[10] = { 2.2, 3.1, 7.7, 9.1, 6.5, 4.6, 3.5, 5.4, 1.4, 7.6 }; double sr_ar, max = 0, min = 10; for (int i = 0; i < 10; i++) { printf("m[%d] = %.1lf\n", i, m[i]); if (max < m[i]) max = m[i]; if (min > m[i]) min = m[i]; } printf("\nmax = %.1lf\n", max); printf("min = %.1lf\n", min); sr_ar = (double)(max + min) / 2; printf("Среднее арифметическое = %.1lf\n", sr_ar);
Решение задачи: «Найти индексы элементов массива, значение которых ближе всего к найденному среднему арифметическому»
textual
Листинг программы
#include <stdio.h> const int N = 10; int main() { int i, min, mid, max, x, y, sum = 0, A[10] = {4, 2, -7, 24, -60, 0, 108, - 72, 19, 54}; min = A[0]; max = A[0]; for(i = 0; i < N; i++){ sum += A[i]; if(A[i] > max) max = A[i]; if(A[i] < min) min = A[i]; } mid = sum / N; for(i = 0; i < N; i++){ if(A[i] > min && A[i] < mid){ min = A[i]; x = i; } if(A[i] < max && A[i] > mid){ max = A[i]; y = i; } } printf("Arithmetic mean is %d\n", mid); printf("and next values is A[%d] = %d and A[%d] = %d\n", x, min, y, max); return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с вводом/выводом (stdio.h).
- Объявление константы N, которая задает размер массива A.
- Ввод данных в массив A.
- Инициализация переменных min и max значением первого элемента массива A.
- Вычисление суммы элементов массива A.
- Вычисление минимального и максимального значения в массиве A.
- Вычисление среднего арифметического (mid) путем деления суммы элементов массива на N.
- Поиск элемента массива, значение которого ближе всего к min.
- Поиск элемента массива, значение которого ближе всего к max.
- Вывод среднего арифметического на экран.
- Вывод на экран значений найденных элементов (min, max, x, y).
- Возврат 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д