Introduktion til Random Number Generator i C

For at generere den forventede output, skal programmet have den rette input. Normalt leveres inputene af brugeren, men nogle gange skal programmet vælge input selv. For at få det aktuelle tidsstempel bruger applikationen f.eks. En indbygget funktion til at hente den fra systemet. På samme måde har vi sommetider brug for at få applikationen til at generere et vilkårligt tilfældigt tal, der kan behandles yderligere for at få den formodede output. Selvom det ser tilfældigt ud for brugeren, tilbyder programmeringssprog os mekanismen til at definere rækkevidden for det tilfældige nummer. I denne artikel vil vi se programimplementeringen af ​​generering af tilfældige tal ved hjælp af programmeringssproget C. Vi vil fokusere på den indbyggede funktion, der leveres af C for at generere et tilfældigt tal.

Hvad er tilfældige nummergeneratorfunktioner i C?

Der er flere tilgange til at generere det tilfældige antal ved hjælp af et hvilket som helst af programmeringssprogene. Man kan definere funktionen på deres egen måde at estimere eller generere det tilfældige antal, mens der er indbyggede funktioner i et hvilket som helst af det programmeringssprog, der genererer det tilfældige antal. I programmeringssprog C har vi en funktion kaldet rand, som hjælper med at generere det tilfældige antal. Denne funktion kommer foruddefineret i C og kan implementeres i programmet ved hjælp af stdlib.h header-fil. Udvikleren skal nævne stdlib.h header-filen i starten af ​​programmet for at udnytte randfunktionen. Hver gang denne funktion kaldes genererer den et totalt tilfældigt tal. Baseret på kravet kan man generere, at tallet hører til heltal-, float- eller dobbeltdatatype. Det kan simpelthen bruges i programmet ved hjælp af funktionen rand ().

Selvom randfunktionen formodes at generere den tilfældige værdi, holder den fast ved at generere den samme værdi hver gang programmet udføres, og det kan ske på grund af den konstante frøværdi. Hvis kravet er at få det nye tilfældige nummer genereret hver gang programmet udføres, er vi nødt til at sikre, at frøet skal ændres, når programmet kører. Tid er noget, der fortsætter med at ændre sig og kan også betragtes som noget, der kan hjælpe med at få en tilfældig frøværdi hver gang, og til at bruge tid i programmet, skal vi bruge time.h header-fil.

Generation Heeltal

Funktionen rand () bruges til at generere et tilfældigt tal. Hver gang det kaldes, giver det et tilfældigt tal. Hvis udviklerne tilføjer en vis logik med det, kan de generere det tilfældige tal inden for et defineret interval, og hvis området ikke er defineret eksplicit, vil det returnere en helt tilfældig heltalværdi. Rand () -funktionen i C kunne bruges til at generere det tilfældige antal, og det genererede antal sletter helt frø. Et frø er den værdi, der bruges af randfunktionen til at generere den tilfældige værdi. Hvis frøværdien bliver ved med at ændre sig, vil det genererede antal blive nyt, hver gang programmet er samlet, ellers returnerer det den samme værdi hver gang, der blev genereret, da programmet blev udført først. For at generere Nedenunder er programmet til at generere et helt tilfældigt tal.

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

Produktion:

Det tilfældigt genererede nummer er 1804289383.

I dette program har vi brugt time.h header-fil, der bruges til at udnytte systemtiden til at generere det tilfældige antal. Efterhånden som tiden ændres hver gang, ændres værdien af ​​frø hver gang programmet udføres, hvilket hjælper os med at generere et tilfældigt tal hver gang programmet udføres. Rand_num er den variabel, der bruges til at gemme et tilfældigt genereret tal. Funktionen rand () genererer et tilfældigt tal, der er tildelt variablen rand_num. Da vi ikke definerede returneringsværdien af ​​det tilfældige nummer eksplicit, vil det give os et heltal.

Generering af Float Point-numre

Fremgangsmåden til at generere den tilfældige floatværdi svarer til fremgangsmåden til generering af heltalnummeret. Den eneste forskel er, at vi bliver nødt til at udtrykkeligt definere, at den værdi, vi forventer af randfunktionen, skal være en float. Float-værdien bruger normalt mere plads i lager i forhold til den korte int. Programmet, som vi har skrevet i ovenstående til generering af tilfældig heltalværdi, vil være det samme, som vi vil skrive her. Den eneste forskel vil være en eksplicit datatypedefinition. I lighed med det sidste program har vi også brugt time.h header-fil her til at lade den bidrage i tilfældig generering af floatnumre. Hvis denne headerfil ikke er inkluderet i programmet, giver den den samme værdi hver gang programmet. Er henrettet. Nedenfor er programmet til tilfældig generering af floatværdier.

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

Produktion:

I dette program har vi brugt (float), der bruges til eksplicit at definere, at den returnerede værdi fra randfunktionen skal være flydende i naturen. Da run_num-variablen også er defineret med en float-datatype, vil den være i stand til at håndtere float-nummeret, der normalt har seks cifre efter decimalpunktet, når det genereres i C-programmeringssprog. Mens vi udskriver floatværdien, har vi brugt% f, da det er noget, der skal tages vare på, mens du udskriver floatværdien.

Konklusion

For at forbedre antallet af tilfældigheder i antallet kan man udnytte matematiske udtryk. Ved hjælp af logik kan man også definere intervallet af numre, under hvilke de ønsker, at antallet skal genereres tilfældigt. Funktionen til at generere tilfældig gummi leveres af alle programmeringssprog og bruges i den faktiske applikation baseret på kravet. For at sikre antallet af stærke tilfældigheder skal vi sørge for, at frøet, som randfunktionen bruges til at generere tilfældig værdi, skal være meget tilfældigt og nyt, hver gang programmet kører.

Anbefalede artikler

Dette er en guide til Random Number Generator i C. Her diskuterer vi funktionen, generation af heltal og generering af float point numre i C. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Tilfældig nummergenerator i R
  2. Hvad er skabelonklasse i C ++?
  3. Tilfældig skovalgoritme
  4. Rammer i Java
  5. Hvad er Random Number Generator i Python?
  6. Tilfældig nummergenerator i C ++ (eksempler med trin)
  7. Tilfældig nummergenerator i Matlab
  8. Tilfældig nummergenerator i C #
  9. Tilfældig nummergenerator i JavaScript
  10. Tilfældig nummergenerator i PHP

Kategori: