C ++ srand () - Biblioteca estándar de C ++

La función srand () en C ++ inicia el generador de números pseudoaleatorios utilizado por la función rand ().

La función srand () en C ++ inicia el generador de números pseudoaleatorios utilizado por la función rand (). La función semilla para rand () es 1 por defecto.

Significa que si no se llama a srand () antes de rand (), la función rand () se comporta como si estuviera sembrada con srand (1).

prototipo de srand ()

 void srand (semilla int sin firmar);

La función srand () toma un entero sin signo como parámetro que es usado como semilla por la función rand ().

Está definido en el archivo de encabezado.

Parámetros srand ()

  • semilla: un valor semilla de tipo unsigned int

srand () Valor de retorno

  • Ninguna

La función srand () no devuelve ningún valor.

Ejemplo 1: ¿Cómo funciona la función srand ()?

 #include #include using namespace std; int main() ( int random = rand(); /* No srand() calls before rand(), so seed = 1*/ cout << "Seed = 1, Random number = " << random << endl; srand(5); /* Seed = 5 */ random = rand(); cout << "Seed = 5, Random number = " << random << endl; return 0; )

Cuando ejecute el programa, la salida será:

 Semilla = 1, Número aleatorio = 41 Semilla = 5, Número aleatorio = 54

Es una buena práctica sembrar el generador de números pseudoaleatorios solo una vez al comienzo del programa y antes de cualquier llamada de rand (). No se debe sembrar cada vez que necesitemos generar un nuevo conjunto de números.

La práctica estándar es utilizar el resultado de una llamada al tiempo (0) como semilla. La función time () devuelve el número de segundos desde las 00:00 horas, 1 de enero de 1970 UTC (es decir, la marca de tiempo actual de Unix). El valor de la semilla cambia con el tiempo. Entonces, cada vez que ejecutamos el programa, se genera un nuevo conjunto de números aleatorios.

Ejemplo 2: función srand () con time ()

 #include #include #include using namespace std; int main() ( srand(time(0)); int random = rand(); cout << "Seed = " << time(0) << endl; cout << "Random number = " << random << endl; return 0; )

Cuando ejecute el programa, la salida será:

 Semilla = 1485583981 Número aleatorio = 22589

Articulos interesantes...