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