Traduzioni di questa pagina?:

rand

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