Albitexm
26-05-2011, 19:12
Scrivo a proposito del tutorial sulla generazione dei numeri random, postato da Ziosilvio. Volevo quotarla ma non sono riuscito pių a trovarla. (č del 9/5/2006..).
Comunque Ziosilvio suggeriva il seguente codice per generare dei numeri random equamente distribuiti:
int irand(int range)
{
int imax, val;
imax = ((RAND_MAX+1U)/range)*range;
while ((val=rand()) >= imax);
return (int)(((double)val/range)*range);
}
LA funzione avrebbe dovuto generare dei numeri random, compresi tra 0 e range. Ho provato ad usare questa funzione, ma ottengo un intero di centinaia di volte superiore a "range". :(
Comunque Ziosilvio suggeriva il seguente codice per generare dei numeri random equamente distribuiti:
int irand(int range)
{
int imax, val;
imax = ((RAND_MAX+1U)/range)*range;
while ((val=rand()) >= imax);
return (int)(((double)val/range)*range);
}
LA funzione avrebbe dovuto generare dei numeri random, compresi tra 0 e range. Ho provato ad usare questa funzione, ma ottengo un intero di centinaia di volte superiore a "range". :(