Funkcija rand() v programskem jeziku C se uporablja za generiranje psevdo-naključnih števil. Uporablja se v C za ustvarjanje naključnih števil v območju od 0 do RAND_MAX.
Funkcija rand() je del standardne knjižnice C zato moramo za uporabo te funkcije vključiti knjižnico.
rosomah proti jazbecu
Sintaksa rand()
int rand (void)>
Parametri
- Ta funkcija ne sprejema nobenih parametrov.
Povratna vrednost
- Ta funkcija vrne vrednost med 0 in RAND_MAX, kjer je RAND_MAX makro, ki je definiran v knjižnici.
Opomba: Funkcija rand() privzeto uporablja vrednost 1 kot seme za generiranje naključnih števil, kar vodi do generiranja istega zaporedja naključnih števil. Da bi to preprečili, lahko uporabimo srand() funkcijo za določitev novega semena za funkcijo rand().
Primeri rand() v C
1. primer: ilustracija funkcije 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;> }> |
>
>Izhod
The Random Value is: 1804289383>
Časovna zapletenost : O(1)
Kompleksnost prostora: O(1)
2. primer: ustvarite 10 naključnih števil
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;> }> |
>
>Izhod
1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>
Če pa želimo generirati nekaj naključnih števil v območju od 0 do N, potem moramo spremeniti tako, da natisnemo modul (N+1) števil, ki jih generira funkcija rand().
Primer: ustvarite naključna števila, manjša od 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;> }> |
>
>Izhod
897 802 765 992 1 521 220 380 729 969>
Na ta način lahko enostavno ustvarimo naključno število od 0 do N.
Tudi, če želimo naključno število, ki bo obstajalo med a spodnja_meja in Zgornja meja , lahko to storimo z uporabo preproste matematike za naključno število, ki ga ustvari funkcija rand().
Primer: ustvarite naključna števila znotraj obsega
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;> }> |
>
>Izhod
943 897 704 678 132 783 902 760 689 765>