Johdanto satunnaislukugeneraattorista C ++: ssa

Ohjelmoinnissamme syntyy monta kertaa tilanne generoida numerot satunnaisesti. Esimerkiksi noppapeli, korttien jakaminen pelaajille, sovellukset kappaleiden sekoittamiseen jne. Näiden asioiden hoitamiseksi meillä pitäisi olla joitain apuohjelmia. C ++: ssa meillä on kaksi apuohjelmaa tämän satunnaislukupolven aikaansaamiseksi. Ensinnäkin tarkastellaan näitä toimintoja, ymmärretään niiden tarpeet. Myöhemmin käytämme niitä koodissamme toiminnallisuuden saavuttamiseksi. Joten aloittakaamme toiminnoista ja kirjastosta, johon se on liitetty. Tässä aiheessa aiomme oppia satunnaislukugeneraattorista C ++: ssa.

Kuinka luoda satunnaisluku?

Satunnaislukujen tuottamiseksi C ++ tarjoaa apuohjelmia. Me kaikki tiedämme, että suurin osa sisäänrakennetuista toiminnoista sisältyy C ++: n otsikkotiedostoon. Yksi tällainen otsikkotiedosto on stdlib.h. Se on vakiokirjasto, jossa on monia sisäänrakennettuja toimintoja, kuten EXIT_FAILURE, EXIT_SUCCESS, RAND_MAX, NULL jne. Näiden toimintojen avulla saamme helposti tarvittavan ratkaisun. Meidän ei tarvitse kirjoittaa pitkää logiikkaa päästäksesi ulos. Sen sijaan voimme yksinkertaisesti kutsua yhtä näistä sisäänrakennetuista toiminnoista tarpeidemme mukaan. Samalla tavalla satunnaislukupolven aikaansaamiseksi meillä on kaksi sisäänrakennettua toimintoa. Ne on satunnaistettu ja rand. Käyttämällä molempia yhdessä voimme saada halutun tuloksen.

Katsotaanpa, mitkä nämä toiminnot ovat pohjimmiltaan.

  • randomize () - Tämä toiminto on vastuussa satunnaisluvun tuottamisesta joka kerta, kun suoritat ohjelmaa. Tulos on ainutlaatuinen aina koodin suorittamisen yhteydessä. Tämä ainutlaatuinen lähtö saa meidät luottamaan enemmän tähän toimintoon. Esimerkiksi, kun ensimmäistä kertaa suoritat koodin, se tuottaa ulostulon kuten 75, 23, 56, 24, 5, 21, 76, 32, 20 ja 37. Seuraavan kerran se tuottaa ulostulon seuraavasti: 5, 64, 51, 78, 94, 53, 41, 19, 96 ja 52. Näemme kuinka tulos tulee olemaan tämän toiminnon kanssa ja ilman sitä, kirjoittamalla koodi seuraavassa osassa.
  • rand () - Lukujen 0 - RAND_MAX-1 muodostamiseksi käytämme tätä toimintoa. Tässä RAND_MAX merkitsee numeron mahdollista mahdollista aluetta. Oletetaan, että meidän on tuotettava satunnaislukuja alueella 0 - 99, niin RAND_MAX-arvo on 100. RAND_MAX-arvo valitaan sen sovelluksen tarpeen perusteella, jonka haluamme rakentaa. Esimerkiksi, jos se on noppapeli, niin RAND_MAX on 6. Jos kyseessä on korttipeli, niin RAND_MAX on 52 jne.

Muista vain, että molemmat toiminnot on ilmoitettu standardi-kirjastossa stdlib.h. Joten älä unohda sisällyttää tätä otsikkotiedostoa koodiin. Katsotaan nyt, kuinka voimme kirjoittaa yksinkertaisen satunnaislukugeneraattoriohjelman.

Esimerkki vaiheilla

Nyt kun saimme käsityksen satunnaislukugeneraattorin toiminnasta, kirjoitetaan perusohjelma, joka tuottaa satunnaisluvun ja tulostaa tulosteen.

Kirjoitetaan ohjelma askel askeleelta saadaksesi enemmän tietoa työskentelystä.

  • Ensimmäinen vaihe on kahden tarvittavan otsikkotiedoston sisällyttäminen ohjelmaan. Ensimmäinen, jos h sisältää tulo- ja lähtötoiminnot. Tämä on tulo- ja lähtövirran otsikkotiedosto. Toinen ja tärkeä otsikkotiedosto on stdlib.h. Kuten aiemmin on keskusteltu, tämä vakiokirjasto sisältää kaksi toimintoa, rand ja randomize. Joten sisällyttäkää ne molemmat koodin alkuun.

#include
#include
using namespace std;

  • Nyt kun olemme sisällyttäneet otsikkotiedostot, seuraava vaihe on kirjoittaa päätoiminto koodin suorittamista varten. Päätoiminnon määritteleminen seuraavassa osassa.

int main( )
(
)

  • Ilmoita numero pitoon ja tulosta satunnaisluvun arvo. Tietotyyppi on tyyppiä int ja antaa minkä tahansa nimen.

int number;

  • Tarvitsemme silmukkalaskurin silmukan arvojen lisäämiseksi. Joten ilmoita indeksin i tyyppi int. Määrittelemme silmukalle enimmäisarvon .

int i;

  • Nyt kirjoitamme silmukkaa varten, joka tulostaa satunnaisesti luodun luvun arvot. Tulostamme yksinkertaisuuden vuoksi 10 numeroa. Joten enimmäismäärä portaita on 10.

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

  • Silmukan sisäpuolelle kirjoitetaan rand-funktio. Alla oleva koodi kertoo meille, että mahdollisesti luotu satunnaisluku jaetaan 100: lla, ja loput otetaan. Tämä tarkoittaa, että painetut numerot ovat välillä 0 - 99. Jos haluat korkeammat alueet, modulon numero on erilainen. Eli 100 sijasta voimme sijoittaa, 150, 200, 100 jne.

number = rand() % 100;

  • Viimeisessä vaiheessa tulostamme luodun numeron cout: lla.

cout << number << "\t";

  • Koodin lähtö on seuraava. Muista, että saatat saada erilaisen ulostulon, koska sen satunnaislukugeneraattori.

  • Yllä olevan koodin ongelma on, että joka kerta kun suoritamme, koodi saa saman sarjan tuloksia. Välttääksesi, että meidän on käytettävä srand () - Tässä viitataan kyseisen esiintymän aikaan ja luodaan uusia arvoja joka kerta, kun suoritamme ohjelmaa.

Katsokaamme koko koodia srand-toiminnolla.

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

Kaksi koodin suoritustulosta:

Ensimmäinen suoritus:

Toinen teloitus:

  • Alla on koodi, joka tuottaa viisi satunnaislukua 1000: n sisällä. Muuta luvun arvoa ja näe joka kerta tuotettu tulos. Vertaa allekirjoittamattoman ja käyttämättömän käytön eroja.

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

lähtö:

Ensimmäinen iteraatio

2. toistoa varten

Johtopäätös - Satunnaislukugeneraattori C ++: ssa

Tässä artikkelissa olemme oppineet, mikä on satunnaislukugeneraattori, satunnaislukugeneraattorin tarpeet, C ++: n sisäänrakennetut toiminnot tämän saavuttamiseksi, satunnaistamistoiminnolla ja ilman sitä, standardikirjaston stdlib.h merkitys, askel askeleelta. kirjoittaa koodi ja lopuksi kahden eri lähestymistavan tulosten vertailu.

Suositellut artikkelit

Tämä on opas satunnaislukugeneraattoriin C ++: ssa. Tässä keskustellaan kuinka luoda satunnaisluku sekä esimerkkejä ja vaiheita. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja -

  1. Pääset muokkaimiin C ++: ssa
  2. Satunnaislukugeneraattori Pythonissa
  3. Satunnaislukugeneraattori R: ssä
  4. Muuttujat C ++: ssa
  5. Pääsy muokkaimet PHP
  6. Satunnaislukugeneraattori C: ssä
  7. C ++: n 11 tärkeintä ominaisuutta ja hyötyä
  8. Esimerkkejä Pythonin sisäänrakennetuista toiminnoista