Bevezetés a véletlenszám-generátorhoz a C ++-ban

A programozás során sokszor felmerül a helyzet, hogy a számokat véletlenszerűen generáljuk. Például: kockajáték, kártyajáték-elosztás a játékosoknak, a dalok megoszlására szolgáló alkalmazások stb. Ezeknek a dolgoknak a kezeléséhez rendelkeznie kell néhány segédprogrammal. A C ++ rendszerben két segédprogrammal rendelkezik a véletlenszám-generáció eléréséhez. Először megvizsgáljuk ezeket a funkciókat, megértjük azok igényeit. Később ezeket használjuk a kódban a funkcionalitás eléréséhez. Tehát kezdjük a függvényekkel és a könyvtárral, amelyhez társítva van. Ebben a témában megismerjük a C ++ véletlenszám-generátort.

Hogyan generálhatunk véletlenszámot?

A véletlen számok generálása érdekében a C ++ biztosítja a segédprogramokat. Mindannyian tudjuk, hogy a beépített funkciók többsége a C ++ fejlécfájljában található. Az egyik ilyen fejléc fájl az stdlib.h. Ez egy szabványos könyvtár, amely számos beépített funkcióval rendelkezik, mint például az EXIT_FAILURE, EXIT_SUCCESS, RAND_MAX, NULL stb. Ezekkel a funkciókkal könnyen megkapjuk a szükséges megoldást. Nem szabad hosszú logikát írnunk, hogy ki tudjuk jönni. Ehelyett egyszerűen felhívhatjuk a beépített funkciók egyikét igényeink szerint. Ugyanígy, a véletlenszám-generáció eléréséhez két beépített funkciónk van. Véletlenszerűen kiválasztott és rand. Mindkettő kombinációjával megkapjuk a kívánt eredményt.

Lássuk, mi ezek a funkciók alapvetően.

  • randomize () - Ez a funkció felelős egy véletlenszerű szám generálásáért a program minden egyes futtatásakor. Az eredmény a kód minden egyes végrehajtásakor egyedi lesz. Ez az egyedülálló kimenet jobban támaszkodhat erre a funkcióra. Például, amikor először futtatja a kódot, akkor a kimenetet generálja, mint a 75, 23, 56, 24, 5, 21, 76, 32, 20 és 37. A következő alkalommal a következő kimenetet állítja elő: 5, A 64., 51., 78., 94., 53., 41., 19., 96. és 52. számot. A következő részben kód írásával láthatjuk, hogy lesz a kimenet ennek a funkciónak a felhasználásával és anélkül.
  • rand () - A 0 és RAND_MAX-1 közötti számok előállításához ezt a funkciót fogjuk használni. A RAND_MAX itt jelzi a szám maximális lehetséges tartományát. Tegyük fel, hogy véletlenszerű számokat kell generálnunk a 0 és 99 közötti tartományban, akkor a RAND_MAX értéke 100 lesz. Az építeni kívánt alkalmazás igényei alapján a RAND_MAX értékét választjuk. Például, ha ez egy kockajáték, akkor a RAND_MAX 6 lesz. Ha ez egy kártyajáték, akkor a RAND_MAX 52 lesz stb.

Ne feledje, hogy mindkét funkciót a stdlib.h standard könyvtár deklarálja. Tehát ne felejtse el belefoglalni ezt a fejléc fájlt a kódjába. Most nézzük meg, hogyan lehet írni egy egyszerű véletlenszám-generátor programot.

Példa a lépésekkel

Most, hogy ötletet kaptunk a véletlenszám-generátor függvény működéséről, írjunk egy alapprogramot, amely véletlenszerű számot generál, és kinyomtatja a kimenetet.

Írjuk le a programot lépésről lépésre, hogy jobban megismerjük a munkát.

  • Az első lépés a programhoz szükséges két fejléc fájl beillesztése. Az első, ha a h bevonja a bemeneti és a kimeneti funkciókat. Ez az input-output stream fejlécfájl. A második és fontos fejléc fájl az stdlib.h. Ahogy korábban tárgyaltuk, ez a standard könyvtár tartalmazza a két funkciót, a rand és a randomize. Tehát tegye mindkettőt a kód elejére.

#include
#include
using namespace std;

  • Most, hogy beillesztettük a fejléc fájlokat, a következő lépés a kód végrehajtásának fő funkciójának írása. A fő funkció meghatározása a következő részben.

int main( )
(
)

  • Nyisson meg egy számot a tartáshoz, és nyomtassa ki a véletlen szám értékét. Az adattípus int típusú, és bármilyen nevet megad.

int number;

  • Szükségünk van egy hurokszámlálóra, hogy növeljük az értékeket a hurokban. Tehát deklaráljuk az int típusú i indexet. A ciklus maximális értékét definiáljuk .

int i;

  • Most egy ciklust írunk a véletlenszerűen generált szám értékeinek kinyomtatásához. Az egyszerűség kedvéért 10 számot nyomtatunk ki. Tehát a lépések maximális száma 10 lesz.

for(i = 1; i <= 10; i++)
(
)

  • A hurok belsejében a Rand függvényt írjuk be. Az alábbi kód azt mondja nekünk, hogy a generált véletlenszerű számot osztjuk 100-val, és a maradékot vesszük. Ez azt jelenti, hogy a nyomtatott számok 0 és 99 között vannak. Ha magasabb tartományokat szeretne, a modulo szám különbözik. A 100 helyett helyet tudunk elhelyezni, 150, 200, 100 stb.

number = rand() % 100;

  • Az utolsó lépésben a generált számot kinyomtatjuk cout használatával.

cout << number << "\t";

  • A kód kimenete az alábbiak szerint működik. Kérjük, ne feledje, hogy eltérő kimenetet kaphat, mivel a véletlenszám-generátor.

  • A fenti kód problémája az, hogy minden egyes futtatáskor a kód ugyanazt a kimenetet kapja. Ennek elkerülése érdekében a srand () -ot kell használni. Itt hivatkozunk az adott példányra, és a program futtatásakor új értékeket állítunk elő.

Nézzük meg a teljes kódot a srand funkcióval.

#include
#include
using namespace std;
int main( )
(
int number;
int i;
srand(time(0));
for(i = 1; i <= 10; i++)
(
number = rand() % 100;
cout << number << "\t";
)
)

A kód két végrehajtási kimenete:

Első végrehajtás:

Második végrehajtás:

  • Az alábbiakban látható az 5 véletlen szám előállításához szükséges kód az 1000-en belül. Változtassa meg a szám értékét, és tekintse meg az egyes időpontokban generált kimenetet. Hasonlítsa össze az alá nem írt és a nélkül történő használat különbségeit.

#include
#include
#include
int main ()
(
int i, number;
time_t nTime;
number = 5;
srand((unsigned) time(&nTime));
printf("Random numbers are: \n");
for( i = 0 ; i < number ; i++ )
(
printf("%d\n", rand() % 1000);
)
return(0);
)

Kimenet:

Az első iterációhoz

A második iterációhoz

Következtetés - Véletlenszám-generátor a C ++-ban

Ebben a cikkben megtudtuk, mi a véletlenszám-generátor, a véletlenszám-generátor igényei, a C ++ beépített funkciói ennek eléréséhez, a randomizálás funkcióval és anélkül, az standard stdlib.h könyvtár jelentőségét, lépésről lépésre hogy megírja a kódot és végül két különböző megközelítés kimeneteinek összehasonlítását.

Ajánlott cikkek

Ez egy útmutató a Random Number Generator számára a C ++ programban. Itt tárgyaljuk, hogyan lehet véletlenszerű számot létrehozni, példákkal és lépésekkel együtt. A következő cikkben további információkat is megnézhet -

  1. Hozzáférés a C ++ módosítóihoz
  2. Véletlenszám-generátor Pythonban
  3. Véletlenszám-generátor R-ben
  4. C ++ változók
  5. Hozzáférés-módosítók a PHP-ben
  6. Véletlenszám-generátor C # -ben
  7. A C ++ 11 legfontosabb tulajdonságai és előnyei
  8. Példák a Python beépített funkcióira

Kategória: