C ++ srand () - Biblioteca standard C ++

Funcția srand () din C ++ generează generatorul de numere pseudo aleatorii folosit de funcția rand ().

Funcția srand () din C ++ generează generatorul de numere pseudo aleatorii folosit de funcția rand (). Funcția seed pentru rand () este 1 în mod implicit.

Înseamnă că dacă nu se numește srand () înainte de rand (), funcția rand () se comportă ca și cum ar fi fost însămânțată cu srand (1).

srand () prototip

 void srand (semințe int nesemnate);

Funcția srand () ia ca parametru un număr întreg nesemnat care este folosit ca seed de către funcția rand ().

Este definit în fișierul antet.

srand () Parametri

  • seed: O valoare seed de tip unsigned int

srand () Valoare returnată

  • Nici unul

Funcția srand () nu returnează nicio valoare.

Exemplul 1: Cum funcționează funcția 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; )

Când rulați programul, ieșirea va fi:

 Seminte = 1, Numar aleatoriu = 41 Seminte = 5, Numar aleatoriu = 54

Este o practică bună să însămânțați generatorul de numere pseudo-aleatorii o singură dată la începutul programului și înainte de orice apeluri de rand (). Nu ar trebui să fie însămânțat de fiecare dată când trebuie să generăm un nou set de numere.

Practica standard este de a folosi rezultatul unui apel la timp (0) ca sămânță. Funcția time () returnează numărul de secunde de la ora 00:00, 1 ianuarie 1970 UTC (adică marca temporală unix curentă). Valoarea semințelor se schimbă cu timpul. Deci, de fiecare dată când rulăm programul, se generează un nou set de numere aleatorii.

Exemplul 2: funcția srand () cu timpul ()

 #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; )

Când rulați programul, ieșirea va fi:

 Semință = 1485583981 Număr aleatoriu = 22589

Articole interesante...