C ++ srand () - C ++ standardní knihovna

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

Funkce srand () v C ++ naočkuje generátor pseudonáhodných čísel používaný funkcí rand (). Funkce seed for rand () je ve výchozím nastavení 1.

To znamená, že pokud není volán žádný srand () před rand (), funkce rand () se chová, jako kdyby byla naočkována srandem (1).

prototyp srand ()

 void srand (unsigned int seed);

Funkce srand () přijímá celé číslo bez znaménka jako svůj parametr, který je používán jako seed funkcí rand ().

Je definován v hlavičkovém souboru.

parametry srand ()

  • seed: Hodnota seed typu unsigned int

srand () Vrátit hodnotu

  • Žádný

Funkce srand () nevrací žádnou hodnotu.

Příklad 1: Jak funguje funkce 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; )

Když spustíte program, výstup bude:

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

Osvědčeným postupem je naočkovat generátor pseudonáhodných čísel pouze jednou na začátku programu a před voláním funkce rand (). Nemělo by to být nasazeno pokaždé, když potřebujeme vygenerovat novou sadu čísel.

Standardním postupem je použít jako počáteční hodnotu výsledek volání času (0). Funkce time () vrací počet sekund od 00:00 hodin, 1. ledna 1970 UTC (tj. Aktuální časové razítko unixu). Hodnota semen se mění s časem. Takže pokaždé, když spustíme program, vygeneruje se nová sada náhodných čísel.

Příklad 2: funkce srand () s časem ()

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

Když spustíte program, výstup bude:

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

Zajímavé články...