funzione rand in c lingua

funzione rand in c lingua
Nella lingua C, il Rand () La funzione viene utilizzata per Pseudo Numero Generator (PRNG). I numeri casuali generati dalla funzione rand () non sono veramente casuali. È una sequenza che si ripete periodicamente, ma il periodo è così grande che possiamo ignorarlo. IL Rand () La funzione funziona ricordando un valore di seme che viene utilizzato per calcolare il numero casuale successivo e il prossimo nuovo seme. In questo articolo, discuteremo in dettaglio su come i numeri casuali possono essere generati usando il Rand () funzione. Quindi iniziamo!

File di intestazione:

stdlib.H

Sintassi:

int rand (vuoto)

Valori di ritorno:

Questa funzione restituisce il prossimo numero pseudo-casuale nella serie. Il valore dell'intervallo della serie di numeri è compreso tra 0 e Rand_max. Rand_max è una macro definita in stdlib.H File di intestazione, il cui valore è il valore massimo, che può restituire da Rand (). Il valore di rand_max è maggiore ma non inferiore a 32767 a seconda delle librerie C.

//Esempio 1.C
#includere
#includere
int main ()

int i;
printf ("10 numeri casuali => \ n");
per (i = 0; i<10;i++)

printf ("%d", rand ());

printf ("\ n");
restituzione 0;


Nell'esempio1.C, chiamiamo la funzione rand () in ogni iterazione di per loop e stampiamo il valore di ritorno della funzione. La sequenza del valore della funzione Rand () è la stessa ogni volta che eseguiamo il programma. Per impostazione predefinita, il seme della funzione RAND è impostato su 1.

Possiamo impostare il seme per la funzione RAND usando il srand () funzione. Il seme può essere impostato solo una volta e prima della prima volta Rand () chiamata funzione.

funzione srand ():

File di intestazione:

stdlib.H

Sintassi:

int srand (unsigned int seed)

Argomenti:

Questa funzione prende 1 argomento

seme: Un valore intero usato come seme per una nuova serie di numeri pseudo-casuali.

Valori di ritorno:

Nessuno

// Esempio2.C
#includere
#includere
#includere
int main ()

int i;
srand (tempo (0));
printf ("10 numeri casuali => \ n");
per (i = 0; i<10;i++)

printf ("%d", rand ());

printf ("\ n");
restituzione 0;


Nell'esempio2.C, abbiamo usato la funzione srand () per impostare il seme iniziale della sequenza di numeri casuali generata dalla funzione rand (). Ogni volta che viene eseguito il programma, viene generata una sequenza diversa. In srand (), time (0) funzione (dichiarata in tempo.H file di intestazione) viene utilizzato come seme. Questa volta (0) la funzione restituisce il numero di secondi trascorsi dall'epoca (00:00:00, 1 gennaio 1970). Questo può ancora produrre le stesse sequenze se si esegue il programma nello stesso secondo.

// Esempio3.C
#includere
#includere
#includere
int main ()

int i;
srand (tempo (0));
printf ("10 numeri casuali tra 1 e 10 => \ n");
per (i = 0; i<10;i++)

printf (" %d", (rand () %10) + 1);

printf ("\ n");
restituzione 0;


Nell'esempio3.c Abbiamo visto come i numeri casuali possono essere generati tra 1 e 10.

// Esempio4.C
#includere
#includere
#includere
int main ()

int i, max, min;
printf ("immettere min value =>");
scanf ("%d", & min);
printf ("Enter max value =>");
scanf ("%d" e max);
if (min> max)

printf ("Il valore min è maggiore del valore massimo \ n");
restituzione 0;

srand (tempo (0));
printf ("10 numeri casuali tra %d e %d => \ n", min, max);
per (i = 0; i<10;i++)

printf (" % d", (rand () % (max - min +1)) + min);

printf ("\ n");
restituzione 0;


In Esempio4.C Abbiamo preso l'intervallo dall'utente e generato un numero casuale in questo intervallo. La formula è: rand () % (max - min +1)) + min

// Esempio5.C
#includere
#includere
#includere
int main ()

int i;
srand (tempo (0));
printf ("10 numeri casuali tra 0.0 e 1.0 => \ n ");
per (i = 0; i<10;i++)

printf ("%f", ((float) rand () /rand_max));

printf ("\ n");
restituzione 0;


Nell'esempio5.C, abbiamo visto come possiamo generare numeri casuali tra il galleggiante 0.0 e 1.0 La formula è: (float) rand () /rand_max)

// Esempio6.C
#includere
#includere
#includere
int main ()

int i;
Float max, min;
printf ("immettere min value =>");
scanf ("%f", & min);
printf ("Enter max value =>");
scanf ("%f" e max);
if (min> max)

printf ("Il valore min è maggiore del valore massimo \ n");
restituzione 0;

srand (tempo (0));
printf ("10 numeri casuali tra %f e %f => \ n", min, max);
per (i = 0; i<10;i++)

printf ("%f", min + ((float) rand () /(rand_max /(max - min))));

printf ("\ n");
restituzione 0;


In Esempio6.C, abbiamo preso l'intervallo dall'utente e generato un numero casuale all'interno di questo intervallo (entrambi inclusivi). La formula è: min + ((float) rand () /(rand_max /(max - min)))

Conclusione:

In questo articolo, abbiamo imparato come i numeri casuali possono essere generati usando il Rand () E srand () funzione. Non ci sono garanzie sulla qualità dei numeri casuali generati dalla funzione RAND, ma è abbastanza buono per l'uso casuale.