C ++ srand () - C ++ szabványos könyvtár

Az srand () függvény a C ++ - ban megemeli a rand () függvény által használt álvéletlenszám-generátort.

Az srand () függvény a C ++ - ban elveti a rand () függvény által használt álvéletlenszám-generátort. A seed for rand () függvény alapértelmezés szerint 1.

Ez azt jelenti, hogy ha a rand () előtt nem hívnak meg srand () -t, akkor a rand () függvény úgy viselkedik, mintha srand (1) -vel lett volna beültetve.

srand () prototípus

 void srand (aláíratlan int mag);

Az srand () függvény egy előjel nélküli egész számot vesz paraméterül, amelyet a rand () függvény magként használ.

A fejlécfájlban van meghatározva.

srand () Paraméterek

  • mag: Az előjel nélküli int magtípus értéke

srand () Visszatérési érték

  • Egyik sem

Az srand () függvény nem ad vissza értéket.

1. példa: Hogyan működik az srand () függvény?

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

A program futtatásakor a kimenet a következő lesz:

 Vetőmag = 1, Véletlenszám = 41 Vetőmag = 5, Véletlenszám = 54

Jó gyakorlat, ha a pszeudo véletlenszám-generátort csak egyszer vesszük be a program elején és a rand () hívásai előtt. Nem szabad minden alkalommal beírni, amikor új számkészletet kell létrehoznunk.

A szokásos gyakorlat az időhívás (0) eredményének felhasználása magként. Az idő () függvény visszaadja az 1970. január 1-jei UTC 00:00 óra (azaz az aktuális unix időbélyegző) óta eltelt másodpercek számát. A vetőmag értéke idővel változik. Tehát minden alkalommal, amikor a programot futtatjuk, új véletlenszám-készlet jön létre.

2. példa: srand () függvény idővel ()

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

A program futtatásakor a kimenet a következő lesz:

 Mag = 1485583981 Véletlenszám = 22589

érdekes cikkek...