Advertisement
juanjo12x

LP1_Estadicias_cpp_LAB2_2014_2

Sep 29th, 2014
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.87 KB | None | 0 0
  1. /*
  2.  * File:   estadisticas.cpp
  3.  * Author: Fernando Alva Manchego
  4.  *
  5.  */
  6. #include <cstdio>
  7. #include "estadisticas.h"
  8. #include "ordenamiento.h"
  9.  
  10. void generarReporte(int A[N], int n){
  11.     ordenar(A, n);
  12.     // Cálculo de las estadísticas
  13.     int menor = A[0];
  14.     int mayor = A[n-1];
  15.    
  16.     printf("NOTA\t\tFRECUENCIA\n");
  17.     int suma = 0, frecuencia = 0;
  18.     int max_freq = 0, moda = A[0];
  19.     for (int i = 0; i<n; i++){
  20.         // Cambio de valor en el arreglo ordenado
  21.         if (i>0 && A[i] != A[i-1]){
  22.             printf("\t%2d\t\t%2d\n", A[i-1], frecuencia);
  23.             if (frecuencia > max_freq){
  24.                 max_freq = frecuencia;
  25.                 moda = A[i-1];
  26.             }
  27.             suma+=A[i-1]*frecuencia;
  28.             frecuencia = 0;
  29.         }
  30.         frecuencia++;
  31.     }
  32.     // Imprimir la frecuencia del último valor y verificar si es la moda
  33.     printf("\t%2d\t\t%2d\n", A[n-1], frecuencia);
  34.     if (frecuencia > max_freq){
  35.         max_freq = frecuencia;
  36.         moda = A[n-1];
  37.     }
  38.     suma+=A[n-1]*frecuencia;
  39.     float promedio = (float)suma/n;        
  40.     printf("\nPROMEDIO: %5.2f\tMAYOR:%2d\tMENOR:%2d\tMODA:%2d\n", promedio, mayor, menor, moda);
  41. }
  42.  
  43. void generarReporte(char A[N], int n){
  44.     // Cálculo de las estadísticas
  45.     ordenar(A, n);
  46.     int max_freq = 0; char moda = A[0]; int frecuencia = 0;
  47.     printf("RESPUESTAS\t\tFRECUENCIA\n");
  48.     for (int i = 0; i<n; i++){
  49.         // Cambio de valor en el arreglo ordenado
  50.         if (i>0 && A[i] != A[i-1]){
  51.             printf("\t%c\t\t%2d\n", A[i-1], frecuencia);
  52.             if (frecuencia > max_freq){
  53.                 max_freq = frecuencia;
  54.                 moda = A[i-1];
  55.             }
  56.             frecuencia = 0;
  57.         }
  58.         frecuencia++;
  59.     }
  60.     // Imprimir la frecuencia del último valor y verificar si es la moda
  61.     printf("\t%c\t\t%2d\n", A[n-1], frecuencia);
  62.     if (frecuencia > max_freq){
  63.         max_freq = frecuencia;
  64.         moda = A[n-1];
  65.     }
  66.     printf("\nMODA: %c\n", moda);
  67. }
  68.  
  69. void generarReporte(float A[N], int n, int amplitud){
  70.     ordenar(A, n);
  71.     // Cálculo e impresión de las estadísticas
  72.     float menor = A[0];
  73.     float mayor = A[n-1];
  74.    
  75.     printf("RANGO DE NOTAS\t\tFRECUENCIA\n");
  76.     int lim_inf = 0, lim_sup = amplitud;
  77.     int frecuencia = 0;
  78.     for (int i=0; i<n; i++){
  79.         if (A[i]>=lim_inf && A[i] < lim_sup)
  80.             frecuencia++;
  81.         else{
  82.             printf("[%2d - %2d[\t\t%2d\n", lim_inf, lim_sup, frecuencia);
  83.             frecuencia = 1; // Considerar el nuevo elemento que permitió entrar al else
  84.             lim_inf = lim_sup;
  85.             lim_sup +=amplitud;
  86.             if (lim_sup >= 20) lim_sup = 21;
  87.         }
  88.     }
  89.     if (lim_sup > 20) lim_sup = 20;
  90.     printf("[%2d - %2d]\t\t%2d\n", lim_inf, lim_sup, frecuencia);
  91.     printf("\nMAYOR:%5.1f\tMENOR:%5.1f\n", mayor, menor);
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement