Diferencia entre revisiones de «cpp/numeric/random/srand»
De cppreference.com
m (Texto reemplaza - '<code cpp>' a '<syntaxhighlight lang="cpp">') |
m (r2.7.3) (Bot Añadido: en, fr, ja, ru, zh) |
||
Línea 42: | Línea 42: | ||
* ''[[cpp/numeric/random/rand | rand]]'' | * ''[[cpp/numeric/random/rand | rand]]'' | ||
* [[cpp/c/other/..:date:time | time (Tiempo Estándar en C)]] | * [[cpp/c/other/..:date:time | time (Tiempo Estándar en C)]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |
Revisión de 17:09 4 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 );