C ++ srand () - Standardna knjižnica C ++

Funkcija srand () v jeziku C ++ zaseva generator psevdo naključnih števil, ki ga uporablja funkcija rand ().

Funkcija srand () v jeziku C ++ zaseva generator psevdo naključnih števil, ki ga uporablja funkcija rand (). Funkcija semena za rand () je privzeto 1.

To pomeni, da če pred rand () ni poklican noben srand (), se funkcija rand () obnaša, kot da je zasejana s srand (1).

srand () prototip

 void srand (nepodpisano int seme);

Funkcija srand () za svoj parameter vzame celo podpisano celo število, ki ga rand () uporablja kot seme.

Določen je v datoteki glave.

srand () parametri

  • seed: Semenska vrednost tipa unsigned int

srand () Vrnjena vrednost

  • Nobenega

Funkcija srand () ne vrne nobene vrednosti.

Primer 1: Kako deluje srand () funkcija?

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

Ko zaženete program, bo rezultat:

 Seme = 1, naključno število = 41 seme = 5, naključno število = 54

Dobra praksa je, da generator psevdo naključnih števil samo enkrat zaženete na začetku programa in pred klici rand (). Ne sme se zasejati vsakič, ko moramo ustvariti nov niz številk.

Običajna praksa je, da kot klic uporabimo rezultat klica na čas (0). Funkcija time () vrne število sekund od 00:00 ure, 1. januarja 1970 UTC (tj. Trenutni časovni žig unix). Vrednost semena se s časom spreminja. Torej, vsakič, ko zaženemo program, se ustvari nov niz naključnih števil.

Primer 2: funkcija srand () s časom ()

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

Ko zaženete program, bo rezultat:

 Semena = 1485583981 Naključna številka = 22589

Zanimive Članki...