Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *
- * int используется вместо int, т.к. он позволяет вместить в себя любой
- * индескс массива, вне зависимости от платформы
- */
- #include <stdio.h>
- #include <limits.h>
- //Функции максимума и минимума
- #define MIN(a,b) (((a)<(b))?(a):(b))
- #define MAX(a,b) (((a)>(b))?(a):(b))
- #define n 40
- //Структура - элемент массива
- //Содержит индекс и значение элемента
- //Используется для удобства и упрощения программы
- struct element
- {
- int index; //Индекс элемента
- int value; //Значение элемента
- };
- int main()
- {
- int elementsAmount = 0; //Количество элементов в массиве
- //Вводим количество элементов
- printf("n>");
- scanf("%d", &elementsAmount);
- //Проверяем количество элементов
- if (elementsAmount > n)
- {
- //Выводим ошибку
- printf("n должно быть <= 40");
- //Выходим из программы
- return 0;
- }
- //Инициализируем массив
- int arr[n] = {};
- //Вводим элементы массива
- for (int i = 0; i < elementsAmount; i++)
- scanf("%d", &arr[i]);
- printf("Исходные данные:\n");
- for (int i = 0; i < elementsAmount; i++)
- printf("%d) %d\n", i, arr[i]);
- struct element maxElement, //Элемент с максимальным значением
- minElement; //Элемент с минимальным значением
- maxElement.value = INT_MIN;
- minElement.value = INT_MAX;
- //Цикл по массиву, до numbersAmount
- for (int i = 0; i < elementsAmount; i++)
- {
- //Проверяем на наибольшее значение
- if (arr[i] > maxElement.value)
- {
- maxElement.value = arr[i];
- maxElement.index = i;
- }
- //Проверяем на наименьшее значение
- if (arr[i] < minElement.value)
- {
- minElement.value = arr[i];
- minElement.index = i;
- }
- }
- int elementsSum = 0, //Сумма элементов в промежутке
- elementsCount = 0; //Количество элементов в промежутке
- //Цикл между минимальным и максимальным элементом
- for (int i = MIN(minElement.index, maxElement.index);
- i <= MAX(minElement.index, maxElement.index); i++)
- {
- elementsSum += arr[i]; //Прибавляем к сумме значение текущего элемента
- elementsCount++; //Увеличиваем счётчик элементов
- }
- //Возвращаем среднее арифметическое значение
- printf("%lf", (double)elementsSum / (double)elementsCount);
- return 0;
- }
Add Comment
Please, Sign In to add comment