Вывод Медианы
В этом заключительном шаге вы улучшите программу вычисления медианы, чтобы предоставить более подробный вывод и продемонстрировать различные способы представления медианы.
Откройте существующий файл для внесения окончательных изменений:
cd ~/project
nano median_calculator.c
Обновите код, улучшив форматирование вывода:
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
// Предыдущие функции (readArray, sortArray, printArray, calculateMedian) остаются без изменений
void printDetailedMedianInfo(int arr[], int n, float median) {
printf("\n--- Подробности вычисления медианы ---\n");
printf("Общее количество элементов: %d\n", n);
printf("Элементы массива: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n\nВычисление медианы:\n");
if (n % 2 != 0) {
printf("Нечетное количество элементов\n");
printf("Индекс среднего элемента: %d\n", n / 2);
printf("Средний элемент: %d\n", arr[n / 2]);
} else {
printf("Четное количество элементов\n");
printf("Два индекса средних элементов: %d и %d\n", (n / 2) - 1, n / 2);
printf("Средние элементы: %d и %d\n", arr[(n / 2) - 1], arr[n / 2]);
}
printf("\nОкончательная медиана: %.2f\n", median);
}
int main() {
int arr[MAX_SIZE];
int n;
readArray(arr, &n);
sortArray(arr, n);
float median = calculateMedian(arr, n);
// Вывод отсортированного массива
printArray(arr, n);
// Вывод подробной информации о медиане
printDetailedMedianInfo(arr, n, median);
return 0;
}
Компилируем и запускаем обновленную программу:
gcc median_calculator.c -o median_calculator
./median_calculator
Пример вывода для нечетного количества элементов:
Введите количество элементов (макс. 100): 5
Введите 5 элементов:
42
15
7
23
11
Отсортированный массив: 7 11 15 23 42
--- Подробности вычисления медианы ---
Общее количество элементов: 5
Элементы массива: 7 11 15 23 42
Вычисление медианы:
Нечетное количество элементов
Индекс среднего элемента: 2
Средний элемент: 15
Окончательная медиана: 15.00
Пример вывода для четного количества элементов:
Введите количество элементов (макс. 100): 6
Введите 6 элементов:
42
15
7
23
11
8
Отсортированный массив: 7 8 11 15 23 42
--- Подробности вычисления медианы ---
Общее количество элементов: 6
Элементы массива: 7 8 11 15 23 42
Вычисление медианы:
Четное количество элементов
Два индекса средних элементов: 2 и 3
Средние элементы: 11 и 15
Окончательная медиана: 13.00
Основные улучшения в этом шаге:
- Добавлена новая функция
printDetailedMedianInfo().
- Предоставлена исчерпывающая информация о вычислении медианы.
- Показаны различные сценарии для нечетного и четного количества элементов.
- Улучшено понимание пользователем вычисления медианы.