Imprimir el IQR
En este paso final, nos enfocaremos en la presentación del Rango Intercuartílico (IQR) de una manera clara e informativa.
Abre el archivo fuente anterior:
cd ~/project
nano iqr_calculation.c
Actualiza el código para mejorar la salida del IQR y agregar texto descriptivo:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_SIZE 100
// Las funciones anteriores permanecen igual (compare y calculateQuartile)
int main() {
int numbers[MAX_SIZE];
int n, i;
double q1, q3, iqr;
// Limpiar la pantalla para una mejor presentación
printf("\033[2J\033[1;1H");
// Introducción al IQR
printf("Calculadora de Rango Intercuartílico (IQR)\n");
printf("===========================================\n\n");
// Leer el número de elementos
printf("Ingrese el número de elementos (máximo %d): ", MAX_SIZE);
scanf("%d", &n);
// Ingresar los elementos del array
printf("Ingrese %d enteros:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
// Ordenar el array
qsort(numbers, n, sizeof(int), compare);
// Calcular las posiciones de Q1 y Q3
double q1_pos = 0.25 * (n + 1);
double q3_pos = 0.75 * (n + 1);
// Calcular Q1 y Q3
q1 = calculateQuartile(numbers, n, q1_pos);
q3 = calculateQuartile(numbers, n, q3_pos);
// Calcular IQR
iqr = q3 - q1;
// Salida detallada
printf("\nResultados del Análisis de Datos\n");
printf("--------------------\n");
printf("Conjunto de Datos Original: ");
for (i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n\n");
// Salida formateada del IQR
printf("Análisis de Cuartiles:\n");
printf("Primer Cuartil (Q1): %.2f\n", q1);
printf("Tercer Cuartil (Q3): %.2f\n", q3);
printf("Rango Intercuartílico (IQR): %.2f\n", iqr);
// Interpretación del IQR
printf("\nInterpretación:\n");
printf("El IQR representa la dispersión del 50%% central de los datos.\n");
printf("Un IQR más pequeño indica datos más consistentes,\n");
printf("mientras que un IQR mayor sugiere más variabilidad.\n");
return 0;
}
Compila el programa actualizado:
gcc -o iqr_calculation iqr_calculation.c -lm
Ejecuta el programa y proporciona una entrada de ejemplo:
./iqr_calculation
Salida de ejemplo:
Calculadora de Rango Intercuartílico (IQR)
===========================================
Ingrese el número de elementos (máximo 100): 7
Ingrese 7 enteros:
12 15 18 22 25 30 35
Resultados del Análisis de Datos
--------------------
Conjunto de Datos Original: 12 15 18 22 25 30 35
Análisis de Cuartiles:
Primer Cuartil (Q1): 15.00
Tercer Cuartil (Q3): 30.00
Rango Intercuartílico (IQR): 15.00
Interpretación:
El IQR representa la dispersión del 50% central de los datos.
Un IQR más pequeño indica datos más consistentes,
mientras que un IQR mayor sugiere más variabilidad.
Mejoras clave:
- Se agregó un comando para limpiar la pantalla para una mejor presentación.
- Se mejoró el formato de la salida.
- Se incluyó una interpretación del IQR.
- Se mantuvo la lógica de cálculo anterior.