C ++ srand () - C ++ standardraamatukogu

Funktsioon srand () C ++ külvab pseudo juhuslike arvude generaatori, mida funktsioon rand () kasutab.

Funktsioon srand () külvab pseudo juhuslike arvude generaatori, mida rand () funktsioon kasutab. Funktsioon seed for rand () on vaikimisi 1.

See tähendab, et kui ühtegi srandit () enne rand () ei kutsuta, käitub rand () funktsioon nii, nagu oleks see külvatud srandiga (1).

srand () prototüüp

 void srand (allkirjastamata int-seeme);

Funktsioon srand () võtab parameetriks allkirjastamata täisarvu, mida rand () funktsioon kasutab seemnena.

See on määratletud päisefailis.

srand () Parameetrid

  • seed: seemne väärtus allkirjastamata int

srand () Tagastusväärtus

  • Puudub

Funktsioon srand () ei tagasta väärtust.

Näide 1: Kuidas funktsioon srand () töötab?

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

Programmi käivitamisel on väljund järgmine:

 Seeme = 1, juhuslik arv = 41 Seeme = 5, juhuslik arv = 54

Hea tava on pseudo juhuslike arvude generaator külvata ainult üks kord programmi alguses ja enne rand () kõnesid. Seda ei tohiks külvata iga kord, kui peame looma uue numbrikomplekti.

Tavapraktika on kasutada ajakutsumise tulemust (0) algmaterjalina. Funktsioon aeg () tagastab sekundite arvu alates 1. jaanuarist 1970 UTC kell 00:00 (st praegune unixi ajatempel). Seemne väärtus muutub aja jooksul. Nii et iga kord, kui programmi käivitame, genereeritakse uus juhuslike arvude komplekt.

Näide 2: funktsioon srand () ajaga ()

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

Programmi käivitamisel on väljund järgmine:

 Seeme = 1485583981 Juhuslik arv = 22589

Huvitavad Artiklid...