Diferencia entre revisiones de «cpp/numeric/random/srand»
De cppreference.com
m (1 revisión: Import from Dokuwiki) |
m (Texto reemplaza - '<code cpp>' a '<syntaxhighlight lang="cpp">') |
||
Línea 2: | Línea 2: | ||
Sintaxis: | Sintaxis: | ||
− | < | + | <cpp> |
#include <cstdlib> | #include <cstdlib> | ||
void srand( unsigned seed ); | void srand( unsigned seed ); | ||
Línea 9: | Línea 9: | ||
La función ''srand()'' establece la "semilla" o valor inicial utilizado por el generador ''[[cpp/numeric/random/rand | rand()]]''. Por cada valor posible de la semilla, el generador arrojará repetidamente un listado específico de valores "aleatorios". | La función ''srand()'' establece la "semilla" o valor inicial utilizado por el generador ''[[cpp/numeric/random/rand | rand()]]''. Por cada valor posible de la semilla, el generador arrojará repetidamente un listado específico de valores "aleatorios". | ||
− | < | + | <cpp> |
srand( time(0) ); | srand( time(0) ); | ||
for( i = 0; i < 10; i++ ) | for( i = 0; i < 10; i++ ) | ||
Línea 19: | Línea 19: | ||
**Usar el tiempo del reloj del sistema como es provisto por ''time'':** | **Usar el tiempo del reloj del sistema como es provisto por ''time'':** | ||
− | < | + | <cpp> |
#include <ctime> | #include <ctime> | ||
srand ( time (0) ); | srand ( time (0) ); | ||
Línea 25: | Línea 25: | ||
**Usar el identificador de proceso en sistemas POSIX:** | **Usar el identificador de proceso en sistemas POSIX:** | ||
− | < | + | <cpp> |
#include <unistd.h> | #include <unistd.h> | ||
srand ( getpid() ); | srand ( getpid() ); | ||
Línea 31: | Línea 31: | ||
**Si ya se ha recibido entrada de datos del usuario, usar alguna combinación de valores ingresados:** | **Si ya se ha recibido entrada de datos del usuario, usar alguna combinación de valores ingresados:** | ||
− | < | + | <cpp> |
#include <iostream> | #include <iostream> | ||
int a, b; | int a, b; |
Revisión de 02:02 3 may 2012
Sintaxis:
#include <cstdlib> void srand( unsigned seed );
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".
srand( time(0) ); for( i = 0; i < 10; i++ ) printf( "Random number #%d: %d\n", i, rand() );
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:**
#include <ctime> srand ( time (0) );
- Usar el identificador de proceso en sistemas POSIX:**
#include <unistd.h> srand ( getpid() );
- Si ya se ha recibido entrada de datos del usuario, usar alguna combinación de valores ingresados:**
#include <iostream> int a, b; std::cin>> a>> b; srand ( a^b );