logo

rand() în C

Funcția rand() din limbajul de programare C este folosită pentru a genera numere pseudoaleatoare. Este folosit în C pentru a genera numere aleatorii în intervalul de la 0 la RAND_MAX.

Funcția rand() face parte din biblioteca standard C deci pentru a folosi această funcție, trebuie să includem biblioteca.



Sintaxa lui rand()

int rand (void)>

Parametrii

  • Această funcție nu preia niciun parametru.

Valoare returnată

  • Această funcție returnează valoarea între 0 și RAND_MAX, unde RAND_MAX este macrocomanda care este definită în bibliotecă.

Notă: Funcția rand() folosește în mod implicit valoarea 1 ca sămânță pentru a genera numere aleatoare, ceea ce duce la generarea aceleiași secvențe de numere aleatoare. Pentru a preveni acest lucru, putem folosi srand() funcția pentru a specifica o nouă sămânță pentru funcția rand().

Exemple de rand() în C

Exemplul 1: Ilustrarea funcției rand().

C








// C program to illustrate the use of rand() function> #include> #include> > int> main()> {> >// Generate a random number using the rand() function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'The Random Value is: %d'>, value);> > >return> 0;> }>

>

>

Ieșire

The Random Value is: 1804289383>

Complexitatea timpului : O(1)
Complexitatea spațiului: O(1)

Exemplul 2: Generați 10 numere aleatorii

C




// C program to generate 10 random number using rand()> // function> #include> #include> > int> main()> {> >int> i = 0;> >// Loop through 10 times> >for> (; i <10; i++) {> >// Generate a random number using the rand()> >// function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

ce este obj în java
>

>

Ieșire

1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>

Dar, dacă vrem să generăm câteva numere aleatorii în intervalul de la 0 la N, atunci trebuie să modificăm prin imprimarea modulo (N+1) al numerelor care sunt generate de funcția rand().

Exemplu: generați numere aleatorii mai mici decât N

C




// C program to generate random numbers smaller than a> // particular number n> #include> #include> int> main()> {> >// Set a constant 'N' to 1000> >int> N = 1000;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number between 0 and N using> >// the rand() function> >int> value =>rand>() % (N + 1);> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

>

Ieșire

897 802 765 992 1 521 220 380 729 969>

În acest fel, putem genera cu ușurință numărul aleatoriu de la 0 la N.

De asemenea, dacă vrem un număr aleatoriu care va exista între a limita inferioară și limită superioară , putem face acest lucru folosind matematica simplă asupra numărului aleator care este generat de funcția rand().

Exemplu: generați numere aleatorii într-un interval

C




// C program to illustrate how to generate random number> // withing a range> #include> #include> int> main()> {> >// Set the upper bound for random numbers> >int> upper_bound = 1000;> >// Set the lower bound for random numbers> >int> lower_bound = 100;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number within the specified> >// bounds> >int> value =>rand>() % (upper_bound - lower_bound + 1)> >+ lower_bound;> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }>

>

panda creând un cadru de date

>

Ieșire

943 897 704 678 132 783 902 760 689 765>