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],x,cont,mod; float Prom; randomize(); cout<<"***Metodo Burbuja, Media,mediana,moda***\a"<<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--) { cont=0; cout<<arreglo[l]<<" "; for(int a=9;a>=0;a--) { if(arreglo[l]==arreglo[a]) { cont++; } if(cont>=2) { mod=arreglo[l]; } } } 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; getch(); }