[C con Clase] rand () y srand () en c
Jose Alvaro Dominguez
ilgrim en gmail.com
Mar Mayo 26 20:21:37 CEST 2009
> generación de números pseudo-aleatorios. Por lo tanto, sólo debes invocar
> 'srand()' una sola vez en tu programa. Aconsejo hacer esto nada más entrar
> en 'main()'. Para ofrecer algo más de aleatoriedad, sugiero tomar el valor
> que representa la fecha y hora cada vez que ejecutes tu programa. Esto lo
> puedes hacer invocando la función 'time()'. Por ejemplo,
>
Con eso estarias eliminando la (poca) aleatoriedad de la secuencia,
introduciendo un patron "predecible" basado en tiempo. Para un par de
valores... y si la aplicacion no tiene mayor importancia...tiene pase,
pero si es para algo especialmente critico...no creo que sea solucion.
Yo le echaria un ojo al Mersenne twister [1]. Es bastante rapido y
genera secuencias bastante poco predecibles, ademas de contar con un
bombazo de implementaciones. La pega? que no esta contemplado en el
ansi.. pero como suelo leer a mucha gente usando cosas raras en plan
"conio" ... tampoco creo que sea un impedimento.
[1] http://en.wikipedia.org/wiki/Mersenne_twister
Un saludo.
Más información sobre la lista de distribución Cconclase