Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Norlak en 8 Junio 2012, 12:01 pm



Título: Contar cuantas veces se repite un numero [duda JAVA]
Publicado por: Norlak en 8 Junio 2012, 12:01 pm
Buenas a todos. tengo un codigo el cual genera numeros aleatorios y guarda cuantas veces se repite

ejemplo;

Citar
//numeros aleatorios
5
6
7
5
6
7


//en mi array tendria que aparecer algo como

1 --- 0
2 --- 0
3 --- 0
4 --- 0
5 --- 2
6 --- 2
7 --- 2

el problema que tengo es a la hora de incrementar el valor es decir coloco la 1º vez un 1 pero no se añadirle mas  .... perdonen mi ignorancia y gracias por su atencion


Título: Re: Contar cuantas veces se repite un numero [duda JAVA]
Publicado por: [Case] en 9 Junio 2012, 06:25 am
Lo que yo recomendaría es que el a reglo generado lo ordenaras, y después en tiempo lineal lo recorres y vas contando he imprimiendo cuantas veces se repite.
La ordenacion sera lo principal, por lo que hay 2 posibles formas.

Si de antemano tu sabes que los números generados tienen un limite, esto es, están en un rango. Entonces solamente has un arreglo de tamaño n donde n es el limite de los números generados, y comienza a recorrer el arreglo random, si aparece un 500, entonces en la posición 500 del nuevo arreglo le pones un uno, si este se vuelve a encontrar a un 500 entonces incrementa.

Si no tienen limite, entonces simplemente implementa cualquier algoritmo de ordenamiento, que preferiblemente tenga complejidad de nlogn.




Título: Re: Contar cuantas veces se repite un numero [duda JAVA]
Publicado por: SokarTefnut en 23 Agosto 2012, 11:35 am


int loteria= numero aleatorio
array[numero maximo aleatorio]


// Para contar
do{
loteria= generar numero ();
array[loteria]=array[loteria]++;
} while (la condicion que sea)


// para listar:

for( x=1;x<numero maximo aleatorio;x++)
{
cout << "el numero"+ x +"se ha repetido" +array
  • + "veces"
}

El resultado seria aproximadamente así:

el numero 1 se ha repetido 3 veces
el numero 2 se ha repetido 4 veces
el numero 3 se ha repetido 0 veces
el numero 4 se ha repetido 13 veces






Título: Re: Contar cuantas veces se repite un numero [duda JAVA]
Publicado por: s00rk en 23 Agosto 2012, 18:33 pm
Código
  1. Random rnd = new Random();
  2. int valor, limite = 7;
  3. int arreglo[] = new int[limite];
  4. msj("Numeros Aleatorios");
  5. for(int x = 0; x < limite; x++)
  6. {
  7. valor = rnd.nextInt(limite)+1;
  8. arreglo[valor-1]++;
  9. msj(valor);
  10. }
  11.  
  12. msj("\nNumeros Repetidos");
  13. for(int x = 0; x < arreglo.length; x++)
  14. msj("El Numero " + (x+1) + " Se Repite: " + arreglo[x] + " veces");
  15.