Вывод IQR
В этом заключительном шаге мы сосредоточимся на форматировании и представлении результатов межквартильного размаха (IQR) ясным и информативным способом.
Откройте предыдущий исходный файл:
cd ~/project
nano iqr_calculation.c
Обновите код для улучшения вывода IQR и добавления описательного текста:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_SIZE 100
// Предыдущие функции остаются без изменений (compare и calculateQuartile)
int main() {
int numbers[MAX_SIZE];
int n, i;
double q1, q3, iqr;
// Очистка экрана для лучшего представления
printf("\033[2J\033[1;1H");
// Введение в IQR
printf("Калькулятор межквартильного размаха (IQR)\n");
printf("=====================================\n\n");
// Ввод количества элементов
printf("Введите количество элементов (максимум %d): ", MAX_SIZE);
scanf("%d", &n);
// Ввод элементов массива
printf("Введите %d целых чисел:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
// Сортировка массива
qsort(numbers, n, sizeof(int), compare);
// Вычисление позиций Q1 и Q3
double q1_pos = 0.25 * (n + 1);
double q3_pos = 0.75 * (n + 1);
// Вычисление Q1 и Q3
q1 = calculateQuartile(numbers, n, q1_pos);
q3 = calculateQuartile(numbers, n, q3_pos);
// Вычисление IQR
iqr = q3 - q1;
// Подробный вывод
printf("\nРезультаты анализа данных\n");
printf("--------------------\n");
printf("Исходный набор данных: ");
for (i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n\n");
// Форматированный вывод IQR
printf("Анализ квартилей:\n");
printf("Первый квартиль (Q1): %.2f\n", q1);
printf("Третий квартиль (Q3): %.2f\n", q3);
printf("Межквартильный размах (IQR): %.2f\n", iqr);
// Интерпретация IQR
printf("\nИнтерпретация:\n");
printf("IQR представляет собой разброс средних 50%% данных.\n");
printf("Меньший IQR указывает на более согласованную информацию,\n");
printf("в то время как больший IQR предполагает большую изменчивость.\n");
return 0;
}
Компилируем обновлённую программу:
gcc -o iqr_calculation iqr_calculation.c -lm
Запускаем программу и вводим пример данных:
./iqr_calculation
Пример вывода:
Калькулятор межквартильного размаха (IQR)
=====================================
Введите количество элементов (максимум 100): 7
Введите 7 целых чисел:
12 15 18 22 25 30 35
Результаты анализа данных
--------------------
Исходный набор данных: 12 15 18 22 25 30 35
Анализ квартилей:
Первый квартиль (Q1): 15.00
Третий квартиль (Q3): 30.00
Межквартильный размах (IQR): 15.00
Интерпретация:
IQR представляет собой разброс средних 50%% данных.
Меньший IQR указывает на более согласованную информацию,
в то время как больший IQR предполагает большую изменчивость.
Основные улучшения:
- Добавлена команда очистки экрана для лучшего представления
- Улучшено форматирование вывода
- Включена интерпретация IQR
- Сохранён предыдущий логик вычислений