Funzione rand in C
La funzione rand()
è una funzione che permette di generare dei numeri casuali.
Se utilizzando anche l'operatore resto, la funzione rand() ci permette di variare il range del numero estratto, che sarebbe compreso tra 0 e N_max=32766
Infatti l'istruzione
n=rand();
genererebbe un numero tra 0 e 32766
invece se mettiamo anche l'operatore resto, e dopo ad esempio il numero 90, la funzione resto ci darà il rsto della divisione tra il numero e il 90 che sarà compreso sempre tra 0 e 89. Cioè, l'istruzione
n=numero()%90;
darà un numero n compreso tra 0 e 89.
Se invece vogliamo generare un numero con il range tra 1 e 90, basta aggiungere 1 all'espressione precedente che diventa:
n=numero()%90+1;
Prima di utilizzare l'istruzione rand() dobbiamo però inserire anche la funzione
srand(time(NULL));
Questa funzione ci permette di generare un numero pseudocasuale andando a prendere i secondi dell'orologio del nostro computer che si trova nella libreria stdio.h
L'output del programma precedente è il seguente