Espacios de nombres
Variantes
Acciones

Diferencia entre revisiones de «cpp/numeric/random/srand»

De cppreference.com
< cpp‎ | numeric‎ | random
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 );


Tópicos Relacionados