Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/03/2013, 21:00
sodaer
 
Fecha de Ingreso: marzo-2013
Mensajes: 1
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta Calcular la moda

Como todos sabemos la moda es un termino que se utiliza en Estadística para saber cual es el numero que mas se repite.
Mi programa ordena números aleatorios y arroja la media la mediana y la moda y al estarlo corriendo me di cuenta que si hay mas de un número que se repite mas, entonces imprime el ultimo que se repitió en vez de los 2 o 3 que se repitieron aquí esta el código:
Código:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main (void)
{
 clrscr();
 int arreglo[10],f[10]={0},fg[10]={0} ,x,auxm=0,mod,c=0;
 float Prom=0;
 randomize();
 cout<<"moda mediana media"<<endl;
 for (int i=0;i<10;i++)
 {
  arreglo[i]=random(10)+1;
  cout<<arreglo[i]<<" ";
 }
 getch();
 for(int j=0;j<10;j++)
  {
   for(int k=0;k<10;k++)
   {
    if(arreglo[j]>arreglo[k])
    {
     x=arreglo[k];
     arreglo[k]=arreglo[j];
     arreglo[j]=x;
    }
   }
  }
 cout<<"\n";
 for(int l=9;l>=0;l--)
 {
  cout<<arreglo[l]<<" ";
  f[arreglo[l]]++;

  for(int m=9; m>=0;m--)
  {
   if (f[m]>auxm)
   {
    auxm=f[m];
    mod=m;
    fg[c]=mod;
    c++;
   }

  }
 }
 for(int b=9;b>=0;b--)
 {
 Prom=Prom+arreglo[b];

 }
 Prom=Prom/10;
 cout<<"\n\20 Media: "<<Prom;
 cout<<"\n\20 Mediana: "<<arreglo[5]<<" "<<arreglo[4];
 cout<<"\n\20 Moda: "<<mod<<" ";
 /*for (int a=9;a>=0;a--)
 {
  if(fg[a]==f[a])
  {
   cout<<fg[a]<<" ";
  }
 } */

 getch();
}
mi pregunta es como puedo hacer la comparación de la s posiciones del arreglo para que en caso de que el programa arroje mas de una moda este imprima todas las modas y no solo una.