Uvod u generator slučajnih brojeva u C

Kako bi se generirao očekivani izlaz, programu mora biti potreban odgovarajući unos. Uobičajeno unose daje korisnik, ali ponekad program mora sam odabrati ulaz. Na primjer, za dobivanje trenutne vremenske oznake aplikacija koristi ugrađenu funkciju za preuzimanje iz sustava. Na isti način ponekad moramo imati aplikaciju koja generira bilo koji slučajni broj koji bi se mogao dalje obraditi da bismo dobili pretpostavljeni izlaz. Iako korisniku izgleda slučajno, programski jezik nam nudi mehanizam za definiranje raspona slučajnog broja. U ovom ćemo članku vidjeti provedbu programa generiranja slučajnih brojeva pomoću programskog jezika C. Usredotočit ćemo se na ugrađenu funkciju koju pruža C da bismo stvorili slučajni broj.

Što su funkcije generatora slučajnih brojeva u C?

Postoji nekoliko pristupa za generiranje slučajnih brojeva koristeći bilo koji programski jezik. Može se definirati funkcija na vlastiti način za procjenu ili generiranje slučajnih brojeva dok postoje ugrađene funkcije u bilo kojem programskom jeziku koji generira slučajni broj. U programskom jeziku C imamo funkciju koja se zove rand, a koja pomaže u stvaranju slučajnog broja. Ova je funkcija unaprijed definirana u C-u i može se implementirati u program pomoću stdlib.h zaglavne datoteke. Programer mora spomenuti stdlib.h zaglavlje u početku programa kako bi iskoristio funkciju rand. Svaki put kada se ova funkcija poziva, generira se posve slučajni broj. Na temelju zahtjeva može se generirati broj koji pripada cijelom tipu, floatu ili dvostrukom tipu podataka. Može se jednostavno koristiti u programu pomoću funkcije rand ().

Iako bi funkcija rand trebala generirati slučajnu vrijednost, zadržala se da bi generirala istu vrijednost svaki put kada se program izvrši, a može se dogoditi zbog stalne vrijednosti sjemena. Ako je uvjet da se svaki slučajni broj generira svaki put kada se program izvrši, moramo osigurati da se sjeme promijeni kad god se program pokrene. Vrijeme je nešto što se stalno mijenja i također se može smatrati nečim što može pomoći u dobivanju slučajne vrijednosti sjemena svaki put i za korištenje vremena u programu moramo koristiti datoteku zaglavlja time.h.

Cijeli generacija

Rand () funkcija se koristi za generiranje slučajnih brojeva. Svaki put kada se zove, daje slučajni broj. Ako programeri dodaju neku logiku s njom, oni mogu generirati slučajni broj unutar definiranog raspona, a ako raspon nije eksplicitno definiran, vratit će potpuno slučajnu cijeli broj. Funkcija rand () u C mogla bi se koristiti za generiranje slučajnih broja, a generirani broj potpuno briše sjeme. Sjeme je vrijednost koja se pomoću funkcije rand koristi za generiranje slučajnih vrijednosti. Ako se vrijednost sjemena zadrži na promjeni, generirani broj će se iznova pojavljivati ​​svaki put kad se program sastavi, vratit će istu vrijednost svaki put kad je generiran kada je program prvi put izveden. Kako bi se generirao Ispod je program za generiranje cijeli cijeli slučajni broj.

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

Izlaz:

Nasumično generirani broj je 1804289383.

U ovom smo programu koristili zaglavlje datoteke time.h koja se koristi za iskorištavanje vremena sustava u generiranju slučajnih brojeva. Kako se vrijeme mijenja svaki put, vrijednost sjemena će se mijenjati svaki put kada se program izvrši, pomažući nam da generiramo slučajni broj svaki put kada se program izvrši. Rand_num je varijabla koja se koristi za spremanje nasumično generiranog broja. Funkcija rand () generira slučajni broj koji je dodijeljen varijabli rand_num. Kako nismo eksplicitno definirali povratnu vrijednost slučajnog broja, dat će nam cijeli broj.

Generiranje brojeva s pomičnom točkom

Pristup generiranja slučajne float vrijednosti sličan je pristupu za generiranje cijelog broja. Jedina je razlika što ćemo morati izričito definirati da vrijednost koju očekujemo od funkcije rand treba biti float. Vrijednost plovka obično troši više prostora za pohranu u odnosu na kratki int. Program koji smo gore napisali za generiranje slučajnih cjelobrojnih vrijednosti bit će isti kao što ćemo ovdje napisati. Jedina razlika bit će eksplicitna definicija vrste podataka. Slično kao u prošlom programu, i ovdje smo koristili datoteku zaglavlja time.h kako bismo omogućili generiranje slučajnih brojeva. Ako ta datoteka zaglavlja nije uključena u program, dat će istu vrijednost svaki put kada program. Izvodi se. Ispod je program za generiranje slučajnih veličina float-a.

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

Izlaz:

U ovom smo programu koristili (float) koji se koristi da izričito definira da vrijednost vraćena iz funkcije rand mora biti plutajuće prirode. Kako je i varijabla ran_num definirana s tipom podataka s pomičnim brojem, ona će moći upravljati brojem float koji obično ima šest znamenki nakon decimalne točke kada se generira u programskom jeziku C. Prilikom ispisa float vrijednosti koristili smo% f jer je to nešto na što treba voditi računa prilikom ispisa float vrijednosti.

Zaključak

Da bi se povećala slučajnost broja, možemo iskoristiti matematičke izraze. Također se pomoću logike može definirati raspon brojeva pod kojima se želi da se slučajno generira broj. Značajka za generiranje slučajnih guma pruža se od strane svih programskih jezika i koristi se u stvarnoj aplikaciji na temelju zahtjeva. Da bismo osigurali snažnu slučajnost broja, moramo osigurati da sjeme koje funkcija rand koristi za generiranje slučajne vrijednosti treba biti vrlo slučajno i novo svaki put kad se program pokrene.

Preporučeni članci

Ovo je vodič za Generator slučajnih brojeva u C. Ovdje smo raspravljali o funkciji, generacijskim cijelim brojevima i generiranju brojeva s pomičnom zarezom u C. Također možete proći kroz naše druge predložene članke da biste saznali više -

  1. Generator slučajnih brojeva u R
  2. Što je klasa predložaka u C ++?
  3. Slučajni šumski algoritam
  4. Okviri na Javi
  5. Što je generator slučajnih brojeva u Pythonu?
  6. Generator slučajnih brojeva u C ++ (Primjeri s koracima)
  7. Generator slučajnih brojeva u Matlabu
  8. Generator slučajnih brojeva u C #
  9. Generator slučajnih brojeva u JavaScript-u
  10. Generator slučajnih brojeva u PHP-u

Kategorija: