rand, srand Era: (sin asunto)
Antonio Chay Hidalgo
antonio en chay.cl
Mie Jul 14 19:39:30 CLT 2004
On Wed, 14 Jul 2004 19:51:06 -0300 (ART)
juan pablo Rumie Vittar <juanpablo_rv en yahoo.com.ar> wrote:
> Ten mucho cuidado que en tu programita C los datos
> estan "sesgados" es decir que despues de un "tiempo"
> que estes tirando numeros aleatorios, estos se te van
> a repetir; para eliminar esto, elimina el "sesgo"
> inicial con la sentencia srand(seed) donde seed es la
> "semilla" para decirle a C use una variedad de los
> algoritmos para generar numeros aleatorios que posee.
>
Cierto.
Este es mi codigo:
srand(time(0));
printf("%d\n",
atoi(argv[1]) + (int)(atof(argv[2])*rand()/(RAND_MAX+1.0)));
Siempre he encontrado practico usar time(0) para obtener una semilla,
ahora que quiza exista un metodo mejor y estoy cegado por la
costumbre.
La obtencion del numero la tome de la pagina del manual de
rand, ya que asi lo recomienda.
Saludos.
--
Antonio Chay Hidalgo <antonio en chay.cl>
Más información sobre la lista de distribución Linux