Diferencia entre revisiones de «cpp/numeric/random/srand»
De cppreference.com
(Import from dokuwiki) |
m (1 revisión: Import from Dokuwiki) |
Revisión de 02:48 1 may 2012
Sintaxis:
#include <cstdlib> void srand( unsigned seed );
</syntaxhighlight>
La función srand() establece la "semilla" o valor inicial utilizado por el generador rand(). Por cada valor posible de la semilla, el generador arrojará repetidamente un listado específico de valores "aleatorios".
<code cpp>
srand( time(0) ); for( i = 0; i < 10; i++ ) printf( "Random number #%d: %d\n", i, rand() );
</syntaxhighlight>
Escogiendo Semillas
Dado que la secuencia generada es siempre la misma para un valor fijo de la semilla, srand() debiera ser llamada con un argumento cambiante y que no dependa de la compilación. Ejemplos de semillas incluyen:
- Usar el tiempo del reloj del sistema como es provisto por time:**
<code cpp>
- include <ctime>
srand ( time (0) ); </syntaxhighlight>
- Usar el identificador de proceso en sistemas POSIX:**
<code cpp>
- include <unistd.h>
srand ( getpid() ); </syntaxhighlight>
- Si ya se ha recibido entrada de datos del usuario, usar alguna combinación de valores ingresados:**
<code cpp>
- include <iostream>
int a, b; std::cin>> a>> b; srand ( a^b ); </syntaxhighlight>