La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Dev-C/982492-como-sacar-la-moda-de-n-elemntos.html

como sacar la moda de n elemntos ?

como sacar la moda de n elemntos ?

Publicado por duskrow (1 intervención) el 31/05/2008 08:00:05
hola a todos tengo una duda muy grande el cual consiste es que ocupo sacar la moda de n elementos el cual la moda es el numero que se repite mas en la serie numerica,

un ejemplo 1 , 2 , 2 , 4 , 5 , 8 ,2 , 10 , 5

la moda ahy es el 2 pork es el k mas se repite.

entonces quisiera hacer esto en c++

y que solo imprimiera el numero que se repite mas es el ("moda")...

ojala me pudieran aiudar :)

thanks

RE:como sacar la moda de n elemntos ?

Publicado por eduardo (26 intervenciones) el 23/06/2008 20:05:45
Te ayudare con un ejemplo.
Sea m un vector de enteros de n elementos cuyos valores van desde 1 a 10:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int m[ n ] = { 1 , 2 , 2 , 4 , 5 , 8 ,2 , 10 , 5,.....6 };
 
int rango;
int mas_grande;
int valor_moda;
int frecuencias[11] = {0}; /* iniciamos frecuencias a cero */
/* sólo consideraremos de frecuencias[1] a frecuencias[10], por convención */
 
/* necesitamos hallar la frecuencia de cada valor en el vector m */
for ( i = 0; i < n; i++ ) { /* recorremos el vector y vamos contando la frecuencia de cada valor */
frec[ m[i] ]++;
}
 
/* Hasta aqui ya tenemos las frecuencias de cada valor guardadas en frecuencias sólo nos falta hallar el valor que más se repite, es decir el valor frecuencia mas grande */
 
for ( rango = 1; rango <= 10; rango++ ) {
if ( frecuencia[rango] > mas_grande ) {
mas_grande = frecuencia[rango];
valor_moda = rango;
}
 
printf( "
 El valor moda es %d", valor moda );
 
}

Debes saber que la moda a veces no es unica ya que puede haber un empate este programa no detecta esto ultimo pero bastaria con agregar unas cuantas sentencas mas.

Espero me haya dejado comprender
Salu2

RE:como sacar la moda de n elemntos ?

Publicado por eduardo (3 intervenciones) el 29/11/2012 02:55:32
disculpa estaba leyendo tu programa pero que es frec??? eso no lo declaraste

RE:como sacar la moda de n elemntos ?

Publicado por sodaer (5 intervenciones) el 21/03/2013 22:01:01
yo tengo ese problema que tu dices; cuando hay mas de una moda el programa me imprime el ultimo numero que se repite mas en vez de todos los que son moda

RE:como sacar la moda de n elemntos ?

Publicado por Pedro (1 intervención) el 08/08/2014 06:11:19
Muchas gracias!! Me ha funcionado bien tu código, espero estudiarlo y agregarle el detalle de "moda" repetida.