Prototipo:
#include <cstdlib> int rand();
La funzione rand() ritorna un valore numerico intero pseudocasuale compreso tra zero e RAND_MAX.
Esempio:
srand( time(NULL)); for( i = 0; i <= 10; i++) cout << "Numero Pseudocasuale #" << i << rand() << endl;
Nota: Non usare % (modulo) per limitare la generazione dei numeri, altrimenti la casualità verrà di molto ridotta.
Per generare numeri pseudocasuali in un intervallo compreso tra 0 e n (con n deciso dal programmatore), si utilizzi un codice simile a questo:
// L'uso di letterali numerici reali è importante, in quanto l'utilizzo di // interi potrebbe generare un errore di overflow quando viene aggiunto l'1. int numeriCasuali(int max); // La funzione corretta per generare numeri nell'intervallo chiuso [0,max] { // Scala di intervallo [0,1]. const float scala = rand() / float(RAND_MAX); // Ritorna l'intervallo [0,max]. return int(scala * max + 0.5); // Opera un cast implicito e tronca un'eventuale decimale in intero. }
Argomenti correlati: srand