Introducere în generatorul de număr aleatoriu în C

Pentru a genera randamentul scontat, programul trebuie să aibă nevoie de o intrare corespunzătoare. De obicei, intrările sunt furnizate de utilizator, dar uneori programul trebuie să aleagă intrarea de la sine. De exemplu, pentru a obține momentul actual, aplicația folosește o funcție încorporată pentru a-l extrage din sistem. În același mod, uneori este necesar ca aplicația să genereze orice număr aleatoriu care ar putea fi procesat în continuare pentru a obține presupusul rezultat. Deși pare utilizator la întâmplare, limbajul de programare ne oferă mecanismul pentru a defini intervalul numărului aleatoriu. În acest articol, vom vedea implementarea programului pentru generarea de numere aleatorii folosind limbajul de programare C. Ne vom concentra pe funcția încorporată furnizată de C pentru a genera un număr aleatoriu.

Care sunt funcțiile generatorului de numere aleatorii în C?

Există mai multe abordări pentru a genera numărul aleatoriu folosind oricare dintre limbajele de programare. Se poate defini funcția propriului mod de a estima sau genera numărul aleatoriu în timp ce există funcții încorporate în oricare dintre limbajele de programare care generează numărul aleatoriu. În limbajul de programare C, avem o funcție numită rand, care ajută la generarea numărului aleatoriu. Această funcție este predefinită în C și poate fi implementată în program folosind fișierul antet stdlib.h. Dezvoltatorul trebuie să menționeze fișierul antet stdlib.h la începutul programului pentru a utiliza funcția rand. De fiecare dată când această funcție este apelată, generează un număr total aleatoriu. Pe baza cerinței, se poate genera numărul, aparține unui tip de date întreg, float sau dublu. Poate fi folosit pur și simplu în program folosind funcția rand ().

Deși funcția rand presupune să genereze valoarea aleatorie, aceasta rămâne blocată pentru a genera aceeași valoare de fiecare dată când programul este executat și se poate întâmpla din cauza valorii constantă a seminței. Dacă cerința este să avem noul număr aleator generat de fiecare dată când programul se execută decât trebuie să ne asigurăm că semințele ar trebui să se schimbe ori de câte ori programul se execută. Timpul este ceva care continuă să se schimbe și poate fi, de asemenea, considerat ca ceva care poate ajuta la obținerea unei valori ale semințelor aleatorii de fiecare dată și la utilizarea timpului în program, trebuie să folosim fișierul antet time.h.

Generații întregi

Funcția rand () este utilizată pentru a genera un număr aleatoriu. De fiecare dată când este apelat, dă un număr aleatoriu. Dacă dezvoltatorii adaugă o anumită logică cu ea, pot genera numărul aleator într-un interval definit și dacă intervalul nu este definit explicit, va returna o valoare integrală aleatorie. Funcția rand () din C ar putea fi utilizată pentru a genera numărul aleatoriu, iar numărul generat este ștergerea totală a seminței. O sămânță este valoarea folosită de funcția rand pentru a genera valoarea aleatorie. Dacă se continuă modificarea valorii, numărul generat va fi nou la fiecare compilare a programului, altfel va întoarce aceeași valoare de fiecare dată când a fost generat când programul a fost executat pentru prima dată. Pentru a genera mai jos este programul de a genera un număr întreg aleatoriu.

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

ieşire:

Numărul generat la întâmplare este 1804289383.

În acest program, am folosit fișierul antet time.h care este utilizat pentru a valorifica timpul sistemului în generarea numărului aleatoriu. Pe măsură ce timpul se schimbă de fiecare dată, valoarea semințelor se va schimba de fiecare dată când programul va fi executat, ajutându-ne să generăm un număr aleatoriu de fiecare dată când programul este executat. Rand_num este variabila folosită pentru a stoca un număr generat la întâmplare. Funcția rand () generează un număr aleatoriu care este atribuit variabilei rand_num. Cum nu am definit valoarea returnată a numărului aleatoriu în mod explicit, ne va oferi un număr întreg.

Generarea de numere cu punct de plutire

Abordarea pentru generarea valorii float aleatorii este similară cu abordarea pentru generarea numărului întreg. Singura diferență este că va trebui să definim explicit că valoarea pe care o așteptăm de la funcția rand ar trebui să fie un float. Valoarea float consumă de obicei mai mult spațiu în stocare în comparație cu int-ul scurt. Programul pe care l-am scris în cele de mai sus pentru generarea de valori întregi aleatoare va fi același pe care îl vom scrie aici. Singura diferență va fi o definiție explicită a tipului de date. Similar cu ultimul program, am folosit fișierul antet time.h aici pentru a-l permite să contribuie la generarea de numere float aleatorii. Dacă acest fișier antet nu este inclus în program, acesta va da aceeași valoare de fiecare dată când programul. Este executat. Mai jos este programul pentru generarea aleatorie a valorilor float.

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

ieşire:

În acest program, am folosit (float) care este folosit pentru a defini în mod explicit că valoarea returnată din funcția rand ar trebui să fie float în natură. Deoarece variabila ran_num este definită, de asemenea, cu un tip de date float, va putea să gestioneze numărul float, care are de obicei șase cifre după punctul zecimal atunci când este generat în limbajul de programare C. În timp ce tipărim valoarea float, am folosit% f, deoarece este ceva care trebuie avut grijă la imprimarea valorii float.

Concluzie

Pentru a îmbunătăți caracterul aleatoriu al numărului, se pot folosi expresii matematice. De asemenea, folosind logica se poate defini, de asemenea, gama de numere sub care doresc ca numărul să fie generat la întâmplare. Funcția de a genera cauciuc aleatoriu este furnizată de toate limbajele de programare și utilizate în aplicația reală pe baza cerinței. Pentru a asigura o puternică aleatorie a numărului, trebuie să ne asigurăm că funcția seed care rand este utilizată pentru a genera valoarea aleatorie trebuie să fie foarte aleatorie și nouă de fiecare dată când programul rulează.

Articole recomandate

Acesta este un ghid al Generatorului de numere aleatoare din C. Aici discutăm funcția, numerele întregi de generare și generarea de numere float în C. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Generator de număr aleatoriu în R
  2. Ce este clasa de șabloane în C ++?
  3. Algoritmul forestier aleatoriu
  4. Cadre în Java
  5. Ce este generatorul de număr aleatoriu în Python?
  6. Generator de număr aleatoriu în C ++ (exemple cu pași)
  7. Generator de număr aleatoriu în Matlab
  8. Generator de număr aleatoriu în C #
  9. Generator de număr aleatoriu în JavaScript
  10. Generator de număr aleatoriu în PHP