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