Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: estadisticas.cpp
- * Author: Fernando Alva Manchego
- *
- */
- #include <cstdio>
- #include "estadisticas.h"
- #include "ordenamiento.h"
- void generarReporte(int A[N], int n){
- ordenar(A, n);
- // Cálculo de las estadísticas
- int menor = A[0];
- int mayor = A[n-1];
- printf("NOTA\t\tFRECUENCIA\n");
- int suma = 0, frecuencia = 0;
- int max_freq = 0, moda = A[0];
- for (int i = 0; i<n; i++){
- // Cambio de valor en el arreglo ordenado
- if (i>0 && A[i] != A[i-1]){
- printf("\t%2d\t\t%2d\n", A[i-1], frecuencia);
- if (frecuencia > max_freq){
- max_freq = frecuencia;
- moda = A[i-1];
- }
- suma+=A[i-1]*frecuencia;
- frecuencia = 0;
- }
- frecuencia++;
- }
- // Imprimir la frecuencia del último valor y verificar si es la moda
- printf("\t%2d\t\t%2d\n", A[n-1], frecuencia);
- if (frecuencia > max_freq){
- max_freq = frecuencia;
- moda = A[n-1];
- }
- suma+=A[n-1]*frecuencia;
- float promedio = (float)suma/n;
- printf("\nPROMEDIO: %5.2f\tMAYOR:%2d\tMENOR:%2d\tMODA:%2d\n", promedio, mayor, menor, moda);
- }
- void generarReporte(char A[N], int n){
- // Cálculo de las estadísticas
- ordenar(A, n);
- int max_freq = 0; char moda = A[0]; int frecuencia = 0;
- printf("RESPUESTAS\t\tFRECUENCIA\n");
- for (int i = 0; i<n; i++){
- // Cambio de valor en el arreglo ordenado
- if (i>0 && A[i] != A[i-1]){
- printf("\t%c\t\t%2d\n", A[i-1], frecuencia);
- if (frecuencia > max_freq){
- max_freq = frecuencia;
- moda = A[i-1];
- }
- frecuencia = 0;
- }
- frecuencia++;
- }
- // Imprimir la frecuencia del último valor y verificar si es la moda
- printf("\t%c\t\t%2d\n", A[n-1], frecuencia);
- if (frecuencia > max_freq){
- max_freq = frecuencia;
- moda = A[n-1];
- }
- printf("\nMODA: %c\n", moda);
- }
- void generarReporte(float A[N], int n, int amplitud){
- ordenar(A, n);
- // Cálculo e impresión de las estadísticas
- float menor = A[0];
- float mayor = A[n-1];
- printf("RANGO DE NOTAS\t\tFRECUENCIA\n");
- int lim_inf = 0, lim_sup = amplitud;
- int frecuencia = 0;
- for (int i=0; i<n; i++){
- if (A[i]>=lim_inf && A[i] < lim_sup)
- frecuencia++;
- else{
- printf("[%2d - %2d[\t\t%2d\n", lim_inf, lim_sup, frecuencia);
- frecuencia = 1; // Considerar el nuevo elemento que permitió entrar al else
- lim_inf = lim_sup;
- lim_sup +=amplitud;
- if (lim_sup >= 20) lim_sup = 21;
- }
- }
- if (lim_sup > 20) lim_sup = 20;
- printf("[%2d - %2d]\t\t%2d\n", lim_inf, lim_sup, frecuencia);
- printf("\nMAYOR:%5.1f\tMENOR:%5.1f\n", mayor, menor);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement