SoloCodigo
Programación General => C/C++ => Visual C++ => Mensaje iniciado por: quotodien en Martes 6 de Marzo de 2007, 19:55
-
hola, tengo que hacer un algoritmo evolutivo, y necesito una funcion que genere un numero aleatorio.
nota:
- No quesiera usar directamente el reloj de la computadora, si es posible nada.
- Tiene que ser rapida la funcion, (que no tenga muchas operaciones como logaritmos o cosas raras).
- y tiene que ser un buen algoritmo(que sean numeros aleatorios).
ya estuve investigando, y e encontrado algoritmos que no me sirven mucho o que no bienen bien explicados.
gracias si alguien puede ayudarme, se lo agradeceria.
-
- No quesiera usar directamente el reloj de la computadora, si es posible nada.
- Tiene que ser rapida la funcion, (que no tenga muchas operaciones como logaritmos o cosas raras).
- y tiene que ser un buen algoritmo(que sean numeros aleatorios).
Entonces como lo piensas hacer?
-
si, ya entendi, esta bien , me conformo con que me propongan alguno:
Nota:
-rapido y bonito(si se puede!!!!)
aunque sea solo el nombre.
-
Con srand(time(0)) especificas la semilla antes de llamar a rand() utilizando la hora del sistema (Justo lo que no querías :P ).-
La semilla la especificas una sola vez y por lo tanto no es relevante el tiempo que te consuma.-
Si la semilla no se especificara, tu serie de números no sería aleatoria sino pseudo-aleatoria por lo que el uso de srand por lo general es necesario.-
Saludos :beer:
-
gracias, pero una curiosidad del ejemplo de la ayuda.
printf(" %6d ", i), ¿que hace ese "6" ahí?
-
Dice que se impriman 6 dígitos y en caso que i tenga menos de 6 digitos los completará con espacios delante del número.-
-
No se si sobra decir, pero quiero recordarles que pos mas ANSI que se sea la funcion rand() si no se unsa una implementacion el limite de numeros (para que no se repita) es de 2^31 llamadas en sistemas de 32 bits.
Digo esto porque puede ser usado para hacer "noise" en una imagen, si sobrepasas los 2^31 usando uns 5000 o mas pares tendras unas lineas en vez de los puntos (llamados noise o ruido).
:comp:
En ANSI C =>