Espacios de nombres
Variantes
Acciones

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

De cppreference.com
< cpp‎ | numeric‎ | random
m (1 revisión: Import from Dokuwiki)
m (Texto reemplaza - '<code cpp>' a '<syntaxhighlight lang="cpp">')
Línea 2: Línea 2:
 
Sintaxis:
 
Sintaxis:
  
<code cpp>
+
<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".  
  
<code cpp>
+
<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'':**
<code cpp>
+
<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:**
<code cpp>
+
<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:**
<code cpp>
+
<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 );


Tópicos Relacionados