Espacios de nombres
Variantes
Acciones

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

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

  1. include <ctime>

srand ( time (0) ); </syntaxhighlight>

    • Usar el identificador de proceso en sistemas POSIX:**

<code cpp>

  1. 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>

  1. include <iostream>

int a, b; std::cin>> a>> b; srand ( a^b ); </syntaxhighlight>


Tópicos Relacionados