Fyll matrise med tilfeldige tall C ++

Fyll matrise med tilfeldige tall C ++
Arrays brukes til å holde elementer med samme datatype i sekvensielle minneområder. Vi kan enkelt bygge matriser av forskjellige datatyper i C++. I denne artikkelen vil vi jobbe med å lage et tilfeldig utvalg som inneholder tilfeldige tall i C++. Så det vil hjelpe deg å lage tilfeldige tall og lagre det tilknyttede nummeret i en matrise. Vi vil bruke C ++ -biblioteket for å lage tilfeldige tall, som vi deretter vil bruke for å fylle ut vårt utvalg.

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.

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

int myNumber;
cout<<"Enter the array size number::";
Cin >> Mynumber;
int rand [myNumber];
for (int r = 0; r Rand [r] = rand ()%10;
cout<<"\nArray Elements::"<for (int r = 0; rcout<<"Number of Elements "<retur 0;

Resultatet 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.

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

int snum;
cout<<"Enter number for array size: ";
cin >> snum;
int array [snum];
Srand (tid (null));
for (int s = 0; s
int nei = rand ();
Array [s] = nei;

for (int s = 0; scout<cout<retur 0;

Utfallet 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.

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

int randnum;
cout<<"Enter the array size: ";
cin >> randnum;
int arr [randnum];
Srand (tid (null));
for (int i = 0; i
int rNumber = rand ()%5;
Arr [i] = rnumber;

for (int i = 0; icout<cout<retur 0;

Som 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.

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

cout<<"The Random numbers lies between 0 and 1:"<Srand ((usignert) tid (null));
for (int n = 0; n < 10; n++)

cout << (float) rand()/RAND_MAX << endl;

retur 0;

Programmets 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.