C ++ srand () - štandardná knižnica C ++

Funkcia srand () v C ++ naočkuje generátor pseudonáhodných čísel používaný funkciou rand ().

Funkcia srand () v C ++ naočkuje generátor pseudonáhodných čísel používaný funkciou rand (). Funkcia seed pre rand () je predvolene 1.

Znamená to, že ak sa pred rand () nezavolá žiadny srand (), funkcia rand () sa chová, akoby bola nasadená na srand (1).

prototyp srand ()

 void srand (unsigned int seed);

Funkcia srand () berie celé číslo bez znamienka ako svoj parameter, ktorý používa ako zárodok funkcia rand ().

Je definované v hlavičkovom súbore.

parametre srand ()

  • seed: Hodnota seed typu unsigned int

srand () Vrátená hodnota

  • Žiadne

Funkcia srand () nevracia žiadnu hodnotu.

Príklad 1: Ako funguje funkcia 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; )

Po spustení programu bude výstup:

 Semeno = 1, Náhodné číslo = 41 Semeno = 5, Náhodné číslo = 54

Je dobrým zvykom naočkovať generátor pseudonáhodných čísel iba raz na začiatku programu a pred akýmkoľvek volaním funkcie rand (). Nemalo by sa to naočkovať zakaždým, keď potrebujeme vygenerovať novú množinu čísel.

Štandardným postupom je použiť ako východisko výsledok volania na čas (0). Funkcia time () vracia počet sekúnd od 00:00 hodiny, 1. januára 1970 UTC (tj. Aktuálna časová značka unixu). Hodnota semena sa časom mení. Takže vždy, keď spustíme program, vygeneruje sa nová sada náhodných čísel.

Príklad 2: funkcia srand () s 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; )

Po spustení programu bude výstup:

 Semeno = 1485583981 Náhodné číslo = 22589

Zaujímavé články...