Come generare numeri casuali tra due numeri in C

In questa lezione viene spiegato come creare un programma in grado di generare numeri casuali compresi tra due numeri in C.
Per poter generare numeri casuali, facciamo riferimento alla pagina come generare numeri casuali in C, in cui viene mostrato come utilizzare la funzione rand, srand e time per generare dei numeri pseudo-casuali in C.

Nota: è importante ricordarsi di includere le librerie stdlib.h e time.h per poter utilizzare le funzioni necessarie.

Procedimento

Per poter generare numeri casuali compresi tra due numeri in C, è fondamentale seguire la seguente regola:rand() % (max - min + 1) + min

dove max e min indicano rispettivamente, il limite superiore ed il limite inferiore (inclusi) del range di numeri casuali che si possono generare. Ad esempio per generare numeri compresi tra 0 e 10, basta sostituire, o meglio ancora, inizializzare la variabile max al valore 10, mentre la variabile min a 0, ovvero



max = 10;
min = 0;
    
num = rand() % (max - min + 1) + min;

In questo modo il programma genera un numero casuale tra 0 e 10. Per generare più numeri casuali durante l’esecuzione del programma, basta inserire la riga in cui viene generato il numero all’interno di un ciclo. Come nel seguente caso:



for(int i=0; i<5; i++){
    num = rand() % (max - min + 1) + min;
    printf("%d ", num);
}

In questo caso vengono generati 5 numeri casuali compresi tra 0 e 10.

Generare numeri casuali tra due numeri negativi in C

Ovviamente è possibile anche generare numeri casuali tra due numeri negativi, basta sostituire min e max della formula precedente con dei valori negativi:



max = -1;
min = -100;

for(int i=0; i<10; i++){
    num = rand() % (max - min + 1) + min;
    printf("%d ", num);
}

In questo caso, il programma genererà numeri casuali compresi tra -1 e -100.

Indice pagine linguaggio C: