C ++ srand () - C ++ standaardbibliotheek

De functie srand () in C ++ geeft de generator van pseudo-willekeurige getallen weer die wordt gebruikt door de functie rand ().

De functie srand () in C ++ geeft de generator van pseudo-willekeurige getallen weer die wordt gebruikt door de functie rand (). De seed for rand () -functie is standaard 1.

Het betekent dat als er geen srand () wordt aangeroepen vóór rand (), de functie rand () zich gedraagt ​​alsof deze is bezaaid met srand (1).

srand () prototype

 void srand (unsigned int seed);

De functie srand () heeft een geheel getal zonder teken als parameter die als kiem wordt gebruikt door de functie rand ().

Het wordt gedefinieerd in het header-bestand.

srand () Parameters

  • seed: een seed-waarde van het type unsigned int

srand () Retourwaarde

  • Geen

De functie srand () retourneert geen enkele waarde.

Voorbeeld 1: Hoe werkt de functie 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; )

Wanneer u het programma uitvoert, is de uitvoer:

 Seed = 1, Random number = 41 Seed = 5, Random number = 54

Het is een goede gewoonte om de generator van pseudo-willekeurige getallen slechts één keer aan het begin van het programma en vóór elke aanroep van rand () te seeden. Het moet niet elke keer worden gezaaid als we een nieuwe reeks getallen moeten genereren.

De standaardpraktijk is om het resultaat van een aanroep naar tijd (0) als zaad te gebruiken. De functie time () retourneert het aantal seconden sinds 00:00 uur, 1 januari 1970 UTC (dwz het huidige Unix-tijdstempel). De waarde van zaad verandert met de tijd. Dus elke keer dat we het programma uitvoeren, wordt een nieuwe reeks willekeurige getallen gegenereerd.

Voorbeeld 2: srand () functie met 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; )

Wanneer u het programma uitvoert, is de uitvoer:

 Seed = 1485583981 Willekeurig getal = 22589

Interessante artikelen...