Introduksjon til Random Number Generator i C

For å generere den forventede effekten, må programmet trenge riktig input. Vanligvis leveres inngangene av brukeren, men noen ganger må programmet velge inngangen av seg selv. For å få gjeldende tidsstempel bruker applikasjonen for eksempel en innebygd funksjon for å hente den fra systemet. På samme måte trenger vi noen ganger å la applikasjonen generere et hvilket som helst tilfeldig tall som kan behandles videre for å få den antatte utgangen. Selv om det ser tilfeldig ut for brukeren, tilbyr programmeringsspråket oss mekanismen til å definere rekkevidden til tilfeldig nummer. I denne artikkelen vil vi se programimplementeringen av generering av tilfeldige tall ved å bruke programmeringsspråket C. Vi vil fokusere på den innebygde funksjonen som er levert av C for å generere et tilfeldig tall.

Hva er tilfeldige generasjonsfunksjoner i C?

Det er flere tilnærminger for å generere det tilfeldige tallet ved å bruke hvilket som helst av programmeringsspråket. Man kan definere funksjonen på sin egen måte å estimere eller generere tilfeldig antall mens det er innebygde funksjoner på et hvilket som helst av programmeringsspråket som genererer tilfeldig antall. I programmeringsspråket C har vi en funksjon som heter rand, som hjelper til med å generere det tilfeldige tallet. Denne funksjonen kommer forhåndsdefinert i C og kan implementeres i programmet ved å bruke stdlib.h headerfil. Utvikleren må nevne stdlib.h-toppfilen i begynnelsen av programmet for å utnytte randfunksjonen. Hver gang denne funksjonen kalles genererer den et helt tilfeldig tall. Basert på kravet kan man generere tallet tilhører heltal, flyte eller dobbel datatype. Den kan ganske enkelt brukes i programmet ved å bruke rand () -funksjonen.

Selv om randfunksjonen er ment å generere den tilfeldige verdien, klistrer den seg til å generere den samme verdien hver gang programmet utføres, og det kan skje på grunn av den konstante frøverdien. Hvis kravet er å få det nye tilfeldige tallet generert hver gang programmet kjøres, må vi sørge for at frøet skal endre seg når programmet kjører. Tid er noe som fortsetter å endre seg, og kan også betraktes som noe som kan hjelpe med å få en tilfeldig frøverdi hver gang og for å bruke tid i programmet må vi bruke time.h headerfil.

Generasjonstall

Rand () -funksjonen brukes til å generere et tilfeldig tall. Hver gang det heter, gir det et tilfeldig tall. Hvis utviklerne legger til litt logikk med det, kan de generere det tilfeldige tallet innenfor et definert område, og hvis området ikke er definert eksplisitt, vil det returnere en helt tilfeldig heltallverdi. Rand () -funksjonen i C kan brukes for å generere det tilfeldige tallet, og det genererte tallet er helt å slette frø. Et frø er verdien som brukes av randfunksjon for å generere den tilfeldige verdien. Hvis frøverdien fortsetter å endre seg, vil antallet som genereres nye hver gang programmet blir satt sammen ellers vil det returnere den samme verdien hver gang som ble generert da programmet ble utført først. For å generere Nedenfor er programmet for å generere det helt tilfeldige tallet.

Program

#include
#include
#include
int main()
(
int rand_num;
srand(time(0));
printf("The randomly generated number is”);
rand_num = rand();
printf("%d\n", rand_num);
)
)

Produksjon:

Det tilfeldig genererte tallet er 1804289383.

I dette programmet har vi brukt time.h headerfil som brukes til å utnytte systemtiden til å generere tilfeldig nummer. Når tiden endrer seg hver gang, vil verdien av frø endres hver gang programmet skal kjøres, noe som hjelper oss å generere et tilfeldig antall hver gang programmet kjøres. Rand_num er variabelen som brukes til å lagre et tilfeldig generert nummer. Funksjonen rand () genererer et tilfeldig tall som er tilordnet variabelen rand_num. Siden vi ikke definerte returverdien til tilfeldig nummer eksplisitt, vil det gi oss et heltall.

Genererer float-punktnumre

Tilnærmingen for å generere den tilfeldige flyteverdien er lik tilnærmingen for å generere heltallstallet. Den eneste forskjellen er at vi må definere eksplisitt at verdien vi forventer av randfunksjonen skal være en flottør. Flyteverdien bruker vanligvis mer plass i lagring sammenlignet med den korte int. Programmet som vi har skrevet i det ovennevnte for generering av tilfeldige heltallverdier, vil være det samme som vi skal skrive her. Den eneste forskjellen vil være en eksplisitt definisjon av datatype. I likhet med det siste programmet, har vi også brukt time.h header-fil her for å la den bidra i tilfeldig generering av flyttall. Hvis denne overskriftsfilen ikke er inkludert i programmet, vil den gi samme verdi hver gang programmet. Er henrettet. Nedenfor er programmet for tilfeldig generering av floatverdier.

Program

#include
#include
#include
int main()
(
float rand_num;
srand(time(0));
printf("The randomly generated float number is ”);
rand_num = (float) rand();
printf("%f", rand_num);
)
)

Produksjon:

I dette programmet har vi brukt (float) som brukes til eksplisitt å definere at verdien som returneres fra randfunksjonen skal være flytende i naturen. Ettersom run_num-variabelen også er definert med en flytedatatype, vil den kunne håndtere floatnummeret som vanligvis har seks sifre etter desimalet når det genereres i C-programmeringsspråket. Når vi skriver ut flyteverdien, har vi brukt% f da det er noe som må tas vare på mens du skriver ut flottørverdien.

Konklusjon

For å forbedre tilfeldigheten til tallet, kan man utnytte matematiske uttrykk. Ved å bruke logikk kan man også definere rekkevidden av tall under hvilke man ønsker at tallet skal genereres tilfeldig. Funksjonen for å generere tilfeldig gummi blir levert av alle programmeringsspråk og brukt i den faktiske applikasjonen basert på kravet. For å sikre antallet sterke tilfeldigheter, må vi sørge for at frøet som rand-funksjon brukes til å generere den tilfeldige verdien, skal være veldig tilfeldig og nytt hver gang programmet kjører.

Anbefalte artikler

Dette er en guide til Random Number Generator i C. Her diskuterer vi funksjonen, generering av heltall og generering av float point tall i C. Du kan også gå gjennom våre andre foreslåtte artikler for å lære mer -

  1. Tilfeldig nummergenerator i R
  2. Hva er malklasse i C ++?
  3. Tilfeldig skogalgoritme
  4. Rammer i Java
  5. Hva er Random Number Generator i Python?
  6. Tilfeldig nummergenerator i C ++ (eksempler med trinn)
  7. Tilfeldig nummergenerator i Matlab
  8. Tilfeldig nummergenerator i C #
  9. Tilfeldig nummergenerator i JavaScript
  10. Tilfeldig nummergenerator i PHP