Introduktion om slumptalgenerator i C ++

Många gånger i vår programmering uppstår det en situation att generera siffrorna slumpmässigt. Till exempel tärningsspel, kortdistribution till spelare, appar för blandning av låtarna osv. För att hantera dessa saker borde vi ha några verktyg. I C ++ har vi två verktyg för att uppnå denna slumpmässiga generation. Först kommer vi att titta på dessa funktioner, förstå deras behov. Senare kommer vi att använda dem i vår kod för att uppnå funktionaliteten. Så låt oss börja med funktionerna och biblioteket som det är kopplat till. I det här ämnet kommer vi att lära oss om Random Number Generator i C ++.

Hur man skapar slumpmässigt antal?

För att uppnå generering av slumpmässiga nummer ger C ++ verktygen. Vi vet alla att de flesta av de inbyggda funktionerna ingår i rubrikfilen för C ++. En sådan rubrikfil är stdlib.h. Det är ett standardbibliotek med många inbyggda funktioner som EXIT_FAILURE, EXIT_SUCCESS, RAND_MAX, NULL, etc. Med hjälp av dessa funktioner kan vi enkelt få den nödvändiga lösningen. Vi behöver inte skriva lång logik för att få ut det. Istället kan vi helt enkelt ringa en av dessa inbyggda funktioner enligt våra behov. På samma sätt har vi två inbyggda funktioner för att uppnå en slumpmässig generation. De är randomiserade och randiga. Genom att använda båda i kombination kan vi få vårt önskade resultat.

Låt oss se vad dessa funktioner egentligen är.

  • randomize () - Denna funktion ansvarar för att generera ett slumpmässigt nummer varje gång du kör programmet. Resultatet blir unikt varje gång koden körs. Denna unika utgång gör att vi litar mer på den här funktionen. Till exempel kommer den första gången du kör koden att generera utdata som 75, 23, 56, 24, 5, 21, 76, 32, 20 och 37. Nästa gång den kommer att generera utdata som: 5, 64, 51, 78, 94, 53, 41, 19, 96 och 52. Vi kommer att se hur utgången blir med och utan att använda den här funktionen genom att skriva kod i nästa avsnitt.
  • rand () - För att generera siffrorna från 0 till RAND_MAX-1 kommer vi att använda den här funktionen. Här anger RAND_MAX det största möjliga intervallet för numret. Låt oss säga att vi måste generera slumpmässiga nummer i intervallet 0 till 99, då kommer RAND_MAX att vara 100. Baserat på behovet av den applikation vi vill bygga väljs värdet på RAND_MAX. Om det till exempel är ett tärningsspel kommer RAND_MAX att vara 6. Om det är ett kortspel är RAND_MAX 52 etc.

Tänk bara på att båda funktionerna deklareras i standardbiblioteket stdlib.h. Så glöm inte att inkludera denna rubrikfil i din kod. Låt oss nu se hur vi kan skriva ett enkelt generatorprogram för slumpmässigt nummer.

Exempel med steg

Nu när vi fick en uppfattning om hur slumpnummergeneratorfunktionen fungerar, låt oss skriva ett grundläggande program som kommer att generera ett slumptal och skriva ut utmatningen.

Låt oss skriva programmet steg för steg för att få mer inblick i arbetet.

  • Det första steget är att inkludera de två rubrikfiler som behövs för programmet. Den första om h ska inkludera ingångs- och utgångsfunktionaliteter. Detta är inmatnings-utgångsströmhuvudfilen. Den andra och viktiga rubrikfilen är stdlib.h. Som diskuterats tidigare innehåller detta standardbibliotek de två funktionerna, rand och randomiserar. Så inkludera båda i början av koden.

#include
#include
using namespace std;

  • Nu när vi har inkluderat rubrikfilerna är nästa steg att skriva huvudfunktionen för exekvering av koden. För att definiera huvudfunktionen i nästa del.

int main( )
(
)

  • Förklara ett nummer för att hålla och skriva ut värdet på det slumpmässiga numret. Datatypen kommer att vara av typen int och ge valfritt namn.

int number;

  • Vi behöver en slingräknare för att öka värdena i slingan. Så förklara indexet i, av typen int. Det maximala värdet på ökningen som vi definierar för loop .

int i;

  • Nu kommer vi att skriva en for loop för att skriva ut värdena på det slumpmässigt genererade numret. För enkelhets skull skriver vi ut 10 nummer. Så det maximala antalet steg blir 10.

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

  • Insida för slinga kommer vi att skriva randfunktionen. Nedanstående kod säger att varje slumptal som genereras kommer att delas med 100 och resten tas. Det betyder att siffrorna kommer att vara från 0 till 99. Om du vill ha högre intervall kommer modulnumret att vara annorlunda. Det är istället för 100 vi kan placera, 150, 200, 100, etc.

number = rand() % 100;

  • I det sista steget kommer vi att skriva ut det genererade numret med hjälp av cout.

cout << number << "\t";

  • Kodens utgång är som nedan. Kom ihåg att du kan få olika resultat eftersom dess slumptalsgenerator.

  • Problemet med koden ovan är varje gång vi kör koden kommer att få samma uppsättning utdata. För att undvika att vi måste använda srand () Här hänvisar vi till tiden vid den instansen och genererar de nya värdena varje gång vi kör programmet.

Låt oss titta på den fullständiga koden 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";
)
)

Två exekveringsutgångar av koden:

Första avrättningen:

Andra avrättningen:

  • Nedan är koden för att generera 5 slumpmässiga nummer inom 1000. Ändra värdet på numret och se utgången som genereras varje gång. Jämför skillnaderna i att använda osignerade och utan att använda.

#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:

För 1 iteration

För andra iteration

Slutsats - Slumptalgenerator i C ++

I den här artikeln har vi lärt oss vad som är en slumptalsgenerator, behov av slumptalsgenerator, inbyggda funktioner för C ++ för att uppnå detta, med och utan att använda randomiseringsfunktionen, betydelsen av standardbiblioteket stdlib.h, steg för steg instruktioner att skriva koden och slutligen jämföra utgångarna från två olika tillvägagångssätt.

Rekommenderade artiklar

Detta är en guide till Random Number Generator i C ++. Här diskuterar vi hur du genererar slumpmässigt nummer tillsammans med exempel och steg. Du kan också titta på följande artikel för att lära dig mer -

  1. Få åtkomst till modifierare i C ++
  2. Random Number Generator i Python
  3. Slumptalsgenerator i R
  4. Variabler i C ++
  5. Få åtkomst till modifierare i PHP
  6. Slumptalsgenerator i C #
  7. Topp 11 funktioner och fördelar med C ++
  8. Exempel på inbyggda Python-funktioner

Kategori: