sacar la moda

kodkella
13 de Mayo del 2006
keria pedir un favor kien me puede ayudar a colokar la moda en un programa alguna formula o algo please!!!!

Diego
13 de Mayo del 2006
La moda de una colección de elementos es el elemento que más se repite. Si la colección está desordenada, necesitas crearte una colección auxiliar, para contener los elementos, y cada vez que se inserte uno, incrementar su frecuencia, que debemos almacernar en un array, por ejemplo. si la colección está ordenada, es mucho más fácil y eficiente. Sólo hemos de almacener una referencia a la moda provisional, y al segundo elemento con mayor frecuencia, y sus frecuencias, de modo que cuando la frecuencia de la moda sea mayor que la suma de la frecuencia y la de los elementos que queden por conocer. Así, si tienes un array de tamaño n y los n/2+1 primeros elementos son iguales, ya sabemos que es la moda sin necesidad de recorrerlos todos. Espero que te sirva.

kodkella
13 de Mayo del 2006
como dices tu hacerme una coleccion a parte de la ke ya tengo xq es un arreglo el ke tengo y de eso aleatoriamente tengo ke sacar la moda

Ronald
13 de Mayo del 2006
si tu vector es de enteros osea lo declaraste global asi:
int v[MAX];
int dimension //dimension es la cantidad de //elementos de tu vector
entonces:

int moda( )
{
int cantrep=0, masrep;
for( int x=0; x<dimension; x++ )
{
if( cantrepetidos(v[x])> cantrep )
{
cantrep=cantrepetidos( v[x] );
masrep=v[x];
}
}
return( masrep );
}
//-----aqui esta la funcion cantrepetidos----
int cantrepetidos( int elem )
{
int cant=0;
for( int x=0; x<dimension; x++ )
{
if( v[x]==ele )
cant++;
}
return cant;
}