random y randomize-URGENTE!!!!!!!!!!!!!!!!!

Fernishhh
06 de Junio del 2003
Aggghhhhhh!!!!vueltas y mas vueltas a algo que se supone facil.Mi pelea ante el compilador es que hago un programa para que me genere una apuesta de primitiva sacando 6 numeros al azahar entre 1 y 49 ambos incluidos, bueno el problema esta a la hora de controlar que los numeros que genera random no se repitan, intento guardar en una tabla esos numeros pero se siguen repitiendo. Necesito el codigo fuente de el programa entero para compararlo con el mio URGENTE, el viernes me examino y posiblemente de este ejercicio,,AYUDA!!!!!!

Astharoth
06 de Junio del 2003
Veamos.
La generacion de numeros aleatorios es algo bastante complicado.
Existen numerosos algoritmos para generar numeros aleatorios con mayor o menor precision a la hora de asegurarnos la aleatoriedad.

Lan funcion rand() de C es una rutina de generacion de numeros pseudoaleatorios, y si bien es valida para algunas funciones, no nos sirve para asegurarnos la aleatoriedad de los numeros en sucesivas puestas en marcha. Para ello puedes usar esta funcion.

void srand(int seed);

Esta definida en la stdlib y lo que hace es barajar los numeros pseudoaleatorios de semilla para rand().
Ahora solo necesitamos una semilla que sepamos que no se va a repetir. Para esto podemos usar por ejemplo si es para Win32 una llamada a GetTickCount (un contador de ticks segun el tiempo que lleva encendida la maquina), pero bueno, puedes usar cualquier funcione que pille algo de tiempo (algun GetTime o similar) para usar eso de semilla.

Con eso te sera mas que suficiente.

Saludos, Astharoth.

Pd: En The Art of Computer Programming de Donald E. Knuth hay extenso material sobre la generacion de numeros aleatorios, por si te sirve de referencia.


sara
06 de Junio del 2003
Yo tengo que acer un programa de la primitiva como el que tuviste que entregar tu, por favor, si lo tienes manadame la respuesta urgente, es que me juego mucho con eses programa, gracias