Metoder for å generere tilfeldige tall i C++
Programmeringsspråket C ++ inkluderer en innebygd pseudo-tilfeldig nummergenerator samt to metoder for å generere tilfeldige tall: RAND () og SRAND (). La oss gå gjennom Rand () og Srand () metoder i dybden.
Rand ()
For å få et tilfeldig tall, bruker vi RAND () -metoden. Når påkalt, genererer RAND () -funksjonen i C ++ et pseudo-tilfeldig nummer mellom 0 og Rand Max. Hver gang denne metoden brukes, bruker den en algoritme som gir en rekke tilfeldige tall. Vi kan ikke vurdere tallene som er opprettet for å være virkelig tilfeldige fordi de er opprettet ved å bruke en algoritme som bruker en frøverdi; I stedet refererer vi til slike tall som pseudo-tilfeldige tall.
Srand ()
SRAND () -metoden brukes ofte i kombinasjon med RAND () -metoden. Hvis SRAND () -metoden ikke brukes, genereres RAND () frø som om Srand (1) hadde blitt brukt tidligere i programoppsettet. Enhver annen frøverdi får generatoren til å begynne på et nytt sted.
Merk at hvis du bruker RAND () for å produsere tilfeldige tall uten først å utføre SRAND (), vil koden din generere sekvensen til de samme heltallene hver gang den kjører.
Eksempel 1
Vi bruker RAND () -metoden for å generere tilfeldige tall i en rekke et heltall. Først har vi erklært en variabel “MyNumber” med datatypen heltall. Variabelen “MyNumber” tar en integrert verdi fra brukeren. Deretter har vi en heltall -matrise "rand", og på neste linje har vi en for sløyfesyklus som genererer et tilfeldig tall over hver iterasjon ved hjelp av RAND () -metoden.
Vi tar en matrise størrelse og definerer deretter en matrise av den størrelsen. RAND () -metoden genererer tilfeldige tall, deler dem med 10 og lagrer resten i en matrise i en bestemt stilling. Matrisen vil bli skrevet ut etter initialisering.
#inkludereResultatet av tilfeldige tall i en heltallsarray vises i følgende bilde.
Eksempel 2
Som diskutert setter Srand () frøet for RAND () -metoden. Vi bygde metoden for å fylle en matrise med tilfeldige verdier ved bruk av SRAND () -metoden i C++. Først av alt har vi importert C ++ innebygd bibliotek "Time.H ”som returnerer gjeldende tidsstempel for øyeblikket funksjonen kalles. Som et resultat kan vi sikre at en distinkt verdi blir gitt til SRAND () -metoden som parameter hver gang programmet blir utført.
Da har vi et annet innebygd bibliotek, “Stdlib.H ”som vi kan få tilgang til både RAND- og SRAND -metodene. Vi har hovedfunksjonen der koden settes i verk. Vi har laget en matrise som en "matrise" av en tilpasset størrelse. Arrayens størrelse vil bli spesifisert av brukeren. Deretter har vi brukt SRAND -metoden og passert frøverdien “null” i den. Hver gang vi kjører programmet genereres et tilfeldig og unikt sett med verdier i stedet for de gjentatte verdiene.
I blokken av for loop har vi RAND () -metoden som vil produsere et tilfeldig tall i hver sløyfesyklus. COUT -kommandoen vil skrive ut det tilfeldige nummeret til den gitte matrisestørrelsen.
#inkludereUtfallet av det tilfeldige antallet "4" størrelse vises på terminalskjermen til Ubuntu.
Eksempel 3
Vi kan også generere tilfeldige tall innen rekkevidden. I det følgende programmet implementerte vi måten å fylle en matrise med tilfeldige heltall i et område i C++. Vi har opprettet en matrise som "ARR" som vil ta størrelsen på matrisen når en bruker legger inn den.
Deretter setter vi frø tid til å "null" i SRAND -metoden. Når SRAND -metoden brukes, vil programmet lage forskjellige sett med tilfeldige tall hver gang det utføres. Etter dette har vi generert et tilfeldig tall innenfor området fra 0 til 5. Vi bruker modul 5 -operatører for å ringe RAND -metoden.
#inkludereSom du ser ligger det genererte tilfeldige tallet i området 0 til 5 i følgende stykke av bildet.
Eksempel 4
Som standard, rand () -funksjonen vi så før returnerer et heltallresultat, som kan skape et overløp i noen tilfeller. Som et resultat kan vi bruke enten en flottør eller en dobbel verdi i C++. Vi vil generere float -tilfeldige tall i følgende eksempelkode ved å konvertere RAND () -funksjonens returverdi til 'Float'.
Til å begynne med brukte jeg en SRAND -funksjon som passerte en usignert datatype -spesifikasjon. Nå vises bare den ikke-negative verdien, i.e., den positive verdien og null, og frøtiden satt til null. Deretter har vi en for sløyfe -uttalelse, som vil sløyfe syklusen til de 10 tilfeldige verdiene. COUT -kommandoen kaster flytdatatypen ved å bruke RAND -metoden.
#inkludereProgrammets utgang er tilfeldige tall som ligger mellom verdiene 0 og 1, som er brøk. Hvis vi ikke kaster returresultatet av RAND () -metoden for å flyte, vil 0 oppnås som det tilfeldige tallet.
Konklusjon
Derfor kan vi lage tilfeldige tall i C ++ ved å bruke de to metodene, RAND () og SRAND (). Metoden SRAND () gir frøet for å lage tilfeldige tall, mens Method Rand () gir sekvensen for de neste tilfeldige tallene. Vi har diskutert de fire illustrasjonskodene for å generere tilfeldige tall i C++. Vi har også vist hvordan vi kan befolke tilfeldige heltall i en matrise innen et område.