Foros del Web » Programación para mayores de 30 ;) » C/C++ »

como hallar la moda

Estas en el tema de como hallar la moda en el foro de C/C++ en Foros del Web. necesito ayuda con esto, este es mi codigo, pero al correrlo hay algun error; les agredezco cualquier ayuda #include <cstdlib> #include <iostream> using namespace std; ...
  #1 (permalink)  
Antiguo 07/04/2011, 12:59
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Busqueda como hallar la moda

necesito ayuda con esto, este es mi codigo, pero al correrlo hay algun error; les agredezco cualquier ayuda

#include <cstdlib>
#include <iostream>

using namespace std;
int main(int argc, char *argv[])
{
//defino variables
int i, j, h, k, moda=0, mayor=0, moda2=0, may;
float prom=0, acum=0, mediana=0, me=0, acum2=0, aux=0;
int respuestas[10][10]={{2,3,0,7,9,6,1,5,4,7},{8,4,6,4,1,2,4,6,7,3},{7,1 ,2,6,4,5,6,4,6,6},{4,8,6,2,1,5,1,7,3,1},{6,6,4,3,4 ,3,2,3,4,3},{5,4,8,8,8,7,9,7,5,4},{3,5,7,9,5,1,5,6 ,2,4},{1,2,6,5,7,8,9,4,3,5},{4,5,4,5,4,4,6,7,4,5}, {1,2,4,1,2,3,1,2,4,1}};
int num[10]={0};
int arre[10]={0};
float med[10]={0};

//organizo de menor a mayor las filas de la matriz
for(i=0; i<10; i++){
for(j=0; j<10; j++){
for(k=j; k<10; k++){
if(respuestas[i][j]>respuestas[i][k]){
h=respuestas[i][j];
respuestas[i][j]=respuestas[i][k];
respuestas[i][k]=h;
}
}
}
}

//imprimo la matriz
for(i=0; i<10; i++){
for(j=0; j<10; j++){
cout<<respuestas[i][j]<<" ";
}
cout<<endl;
}

//hallo el promedio
for(i=0; i<10; i++){
for(j=0; j<10; j++){
acum= acum+respuestas[i][j];
}
prom=acum/10;
acum2=acum2+prom;
cout<<"promedio <"<<i+1<<">: "<<prom;
cout<<endl;
acum=0;
}
cout<<"promedio TOTAL: "<<(acum2/10)<<endl;
cout<<endl<<endl;

//hallo la mediana
for(i=0; i<10; i++){
me=me+(respuestas[i][4]+respuestas[i][5]);
mediana=(me/2);
med[i]=mediana;
cout<<"mediana de <"<<i+1<<">: "<<mediana;
cout<<endl;
me=0;
}
//ordeno las medianas de cada pregunta
for(i=0; i<9; i++){
if(med[i]>med[i+1]){
aux=med[i];
med[i]=med[i+1];
med[i+1]=aux;
}
}
//hallo la mediana de la encuesta
mediana=(med[4]+med[5])/2;
cout<<"mediana TOTAL: "<<mediana;
cout<<endl<<endl<<endl;

//hallo la moda
for(i=0; i<10; i++){
for(j=0; j<10; j++){
//cuento la cantidad de veces que aparece un numero
switch(respuestas[i][j])
{
case 0:
num[0]++;
break;
case 1:
num[1]++;
break;
case 2:
num[2]++;
break;
case 3:
num[3]++;
break;
case 4:
num[4]++;
break;
case 5:
num[5]++;
break;
case 6:
num[6]++;
break;
case 7:
num[7]++;
break;
case 8:
num[8]++;
break;
case 9:
num[9]++;
break;
case 10:
num[10]++;
default:
cout<<"no es valido";
break;
}
}
//dentro del arreglo num, busco cual posicion es la mayor
for(k=0; k<10; k++){
if(num[k]>=mayor && mayor<num[k]){
mayor=num[k];
}
}
//si una posicion del arreglo posee un numero igual al mayor, esa posicion es la moda
for(int z=0; z<10; z++){
if(num[z]==mayor){
arre[z]=z;
cout<<"moda de <"<<i+1<<">: "<<z<<endl;
}
}
//dejo en ceros el arreglo num
for(k=0; k<10; k++){
num[k]=0;
}
}

system("PAUSE");
return EXIT_SUCCESS;
}
  #2 (permalink)  
Antiguo 07/04/2011, 14:49
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: como hallar la moda

Que error???

Etiquetas: mmm
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:43.