Generere tilfeldige tall i et eller annet område i C ++

Generere tilfeldige tall i et eller annet område i C ++
Generere tilfeldige tall I C ++ har mange bruksområder fra simulering og spillutvikling til dataanalyse og kryptografi. Til tross for nytten, er det å produsere virkelig tilfeldige tall en vanskelig oppgave. Likevel, med en viss grunnleggende forståelse av C ++ programmeringsspråk, er det mulig å generere tilfeldig tall med relativt letthet.

Denne artikkelen er en nyttig guide for å generere tilfeldige tall i et eller annet område i C++.

Generere tilfeldige tall i et eller annet område i C++

I C ++ er det to forskjellige metoder for å produsere Tilfeldige tall:

  • Rand () Funksjon
  • srand () funksjon

1: Rand () -funksjon

Den første typen av tilfeldig nummergenerering i C ++ bruker bibliotekfunksjonen Rand (). Med denne funksjonen gir brukeren maksimal og minimumsinngang, og den vil returnere en tilfeldig tall mellom disse to verdiene. Antallet returnert kan være et heltall eller et flytende punktnummer, avhengig av brukerens valg. Utvalget av medfølgende verdier må være positivt, men det kan ta noen verdi og er ikke begrenset til 0 og 1.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

for (int x = 0; x < 5; x++)
cout << rand() << " ";
retur 0;

I denne koden brukes en sløyfe til å lage tilfeldig tall fem ganger ved hjelp av den innebygde funksjonen Rand ().

Produksjon

Hvis du vil generere tilfeldige tall mellom 0 til 1 til og med “Rand”, Du kan bruke følgende kode:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

for (int x = 0; x < 5; x++)
cout << (rand() % 10001) / 10000.0 << " ";
retur 0;

Produksjon:

Problemet med Rand () Funksjon er at hver gang vi utfører programmet, vil resultatet være den samme sekvensen.

2: SRAND () -funksjonen

Den eneste forskjellen mellom srand () og Rand () Funksjoner er frøverdien, som brukes til å etablere rekkevidden eller sekvensen til pseudo-tilfeldige heltall. C++ Tilfeldig tallgenerator vil begynne etter at frøverdien er lagt inn ved hjelp av srand () metode. Utgangen virker tilfeldig takket være denne frøverdien.

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

Srand (tid (0));
for (int i = 0; i < 5; i++)
cout << rand() << " ";
retur 0;

I denne koden bruker vi tid() funksjon som en frøverdi for srand () funksjon og deretter en tilfeldig tall genereres 5 ganger ved hjelp av en stund loop.

Produksjon

Hvis du vil generere tilfeldige tall mellom 0 til 1 til og med “Srand”, Du kan bruke følgende kode:

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

Srand (tid (0));
for (int i = 0; i < 5; i++)
cout << (rand() % 10001) / 10000.0 << " ";
retur 0;

Produksjon

Generere tilfeldige tall innen et gitt område - C++

Det er lett å generere tilfeldige tall av en spesifisert område i c++. For å gjøre dette, må en programmerer ha en fantasifull forståelse av hvordan Tilfeldige tall kan produseres og hva hvert bibliotek, funksjon og parameter kan bringe til den generelle prosessen.

I C ++, Rand () Funksjon og noe grunnleggende matematikk kan brukes til å produsere et tilfeldig heltall innenfor et spesifisert område. Et eksempel på kode som produserer en tilfeldig Heltall mellom 0 og 99 er gitt her:

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
Srand (tid (null));
int num = rand () % 100;
cout << "Random number: " << num << endl;
retur 0;

Gjeldende tid brukes til å frø Tilfeldig tallgenerator i koden over, noe som hjelper til med å sikre at de genererte Tilfeldige tall er forskjellige hver gang programmet utføres. Funksjonen Rand ()% 100 tar resten av resultatet av Rand () og multipliser det med 100 for å få et tilfeldig heltall mellom 0 og 99.

Produksjon

Konklusjon

C ++ brukere kan generere tilfeldige tall i et område ved hjelp av to enkle metoder. En bruker Rand () som genererer tilfeldige tall i et eller annet område. Imidlertid genererer det et lignende tall hver gang du utfører koden. De srand () Metoden brukes til å sende ut en rekke forskjellige tilfeldige heltall.