View Single Post
Old 23-01-2005, 00:27   #7
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16212
Quote:
Originariamente inviato da Ubi-Wan
Per generare un valore tra 0 e n compresi usa rand() % (n+1) .
Se fai così, rischi di trovarti con un generatore che ha delle proprietà peggiori di quello di partenza.
Ne abbiamo parlato diffusamente alcuni post fa.
Io farei in due tempi (floor è definita in math.h e restituisce un double):
Codice:
double frand() /* random floating-point value in [0,1) */
{
    return (double)rand()/(RAND_MAX+1.0);
}

int irand(int min, int sup) /* random integer value between min and sup-1 */
{
    return (int)floor(frand()*(sup-min))+min;
}
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso