Introduktion til Random Number Generator i C ++

Mange gange i vores programmering opstår der en situation for at generere numrene tilfældigt. For eksempel terningespil, kortfordeling til spillere, apps til blanding af sange osv. For at håndtere disse ting skal vi have nogle værktøjer. I C ++ har vi to værktøjer til at opnå denne tilfældige talgenerering. Først vil vi se på disse funktioner og forstå deres behov. Senere vil vi bruge dem i vores kode for at opnå funktionaliteten. Så lad os starte med de funktioner og det bibliotek, som det er knyttet til. I dette emne skal vi lære mere om Random Number Generator i C ++.

Sådan genereres tilfældigt antal?

For at opnå generering af tilfældige tal giver C ++ hjælpeprogrammerne. Vi ved alle, at de fleste af de indbyggede funktioner er inkluderet i overskriftsfilen til C ++. En sådan headerfil er stdlib.h. Det er et standardbibliotek med mange indbyggede funktioner som EXIT_FAILURE, EXIT_SUCCESS, RAND_MAX, NULL osv. Ved hjælp af disse funktioner kan vi nemt få den krævede løsning. Vi behøver ikke at skrive en lang logik for at få det ud. I stedet kan vi blot kalde en af ​​disse indbyggede funktioner efter vores behov. På samme måde har vi to indbyggede funktioner for at opnå en tilfældig talgenerering. De er randomiserede og rand. Brug af begge dele i kombination kan vi få vores ønskede resultat.

Lad os se, hvad disse funktioner er dybest set.

  • randomize () - Denne funktion er ansvarlig for at generere et tilfældigt tal, hver gang du kører programmet. Resultatet vil være unikt hver gang koden udføres. Denne unikke output får os til at stole mere på denne funktion. For eksempel vil den første gang, du kører koden, generere output som 75, 23, 56, 24, 5, 21, 76, 32, 20 og 37. Næste gang det genererer output som: 5, 64, 51, 78, 94, 53, 41, 19, 96 og 52. Vi vil se, hvordan output vil være med og uden at bruge denne funktion ved at skrive kode i det næste afsnit.
  • rand () - For at generere numrene fra 0 til RAND_MAX-1 bruger vi denne funktion. Her angiver RAND_MAX det maksimale mulige interval for nummeret. Lad os sige, at vi er nødt til at generere tilfældige tal i området 0 til 99, så værdien af ​​RAND_MAX vil være 100. Baseret på behovet for den applikation, vi vil opbygge, vælges værdien af ​​RAND_MAX. For eksempel, hvis det er et terningespil, vil RAND_MAX være 6. Hvis det er et kortspil, vil RAND_MAX være 52 osv.

Bare husk, at begge funktioner er deklareret i standardbiblioteket stdlib.h. Så glem ikke at inkludere denne headerfil i din kode. Lad os nu se, hvordan vi kan skrive et simpelt generatorgeneralprogram.

Eksempel med trin

Nu hvor vi fik en idé om, hvordan funktionen til tilfældig talgenerator fungerer, lad os skrive et grundlæggende program, der vil generere et tilfældigt tal og udskrive output.

Lad os skrive programmet trin for trin for at få mere indsigt i arbejdet.

  • Det første trin vil være at inkludere de to headerfiler, der er nødvendige til programmet. Den første, hvis h skal inkludere input og output funktionaliteter. Dette er input-output stream header-filen. Den anden og vigtige headerfil er stdlib.h. Som tidligere omtalt indeholder dette standardbibliotek de to funktioner, rand og randomiseres. Så inkluder dem begge i begyndelsen af ​​koden.

#include
#include
using namespace std;

  • Nu hvor vi har inkluderet overskriftsfilerne, er det næste trin at skrive hovedfunktionen til udførelse af koden. At definere hovedfunktionen i næste del.

int main( )
(
)

  • Angiv et nummer, der skal indeholde og udskrive værdien af ​​det tilfældige nummer. Datatypen vil være af typen int og give ethvert navn.

int number;

  • Vi har brug for en løkktæller for at øge værdierne i løkken. Så angiv indekset i af typen int. Den maksimale værdi af forøgelse, vi definerer for loop .

int i;

  • Nu skriver vi en for-loop til udskrivning af værdierne for det tilfældigt genererede nummer. For enkelheds skyld udskriver vi 10 numre. Så det maksimale antal trin er 10.

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

  • Inden for loop, skriver vi randfunktionen. Nedenstående kode fortæller os, at et vilkårligt genereret tilfældigt tal divideres med 100, og resten tages. Det betyder, at de udskrevne numre vil være fra 0 til 99 rækkevidde. Hvis du vil have højere intervaller, vil modulotallet være anderledes. Det er i stedet for 100, vi kan placere, 150, 200, 100 osv.

number = rand() % 100;

  • I det sidste trin udskriver vi det genererede nummer ved hjælp af cout.

cout << number << "\t";

  • Kodens output er som nedenfor. Husk, at du muligvis får forskellige output, da dens tilfældige talgenerator.

  • Problemet med ovenstående kode er, hver gang vi kører, vil koden få det samme sæt output. For at undgå, at vi er nødt til at bruge srand () Her henviser vi til tidspunktet i det tilfælde og genererer de nye værdier, hver gang vi kører programmet.

Lad os se på den komplette kode med srandfunktionen.

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

To udførelsesudgange af koden:

Første henrettelse:

Anden henrettelse:

  • Nedenfor er koden til generering af 5 tilfældige tal inden for 1000. Skift værdien på antallet og se output genereret på hver gang. Sammenlign forskellene ved at bruge usigneret og uden at bruge.

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

Produktion:

I 1. iteration

Til anden iteration

Konklusion - Tilfældig nummergenerator i C ++

I denne artikel har vi lært, hvad der er en tilfældig talgenerator, behovene til tilfældigt talgenerator, indbyggede funktioner i C ++ for at opnå dette, med og uden at bruge randomiseringsfunktionen, betydningen af ​​standardbiblioteket stdlib.h, trin for trin instruktioner at skrive koden og endelig sammenligning af output fra to forskellige tilgange.

Anbefalede artikler

Dette er en guide til Random Number Generator i C ++. Her diskuterer vi Sådan genereres tilfældigt nummer sammen med eksempler og trin. Du kan også se på den følgende artikel for at lære mere -

  1. Få adgang til modifikatorer i C ++
  2. Tilfældig nummergenerator i Python
  3. Tilfældig nummergenerator i R
  4. Variabler i C ++
  5. Få adgang til modifikatorer i PHP
  6. Tilfældig nummergenerator i C #
  7. Top 11 funktioner og fordele ved C ++
  8. Eksempler på Python-indbyggede funktioner

Kategori: