Salve,
volevo estrarre numeri casuali tra -5 e 5 compresi usando il linguaggio C
Ho provato questo codice:
Mi restituisce valori tra -4 e 5codice:int m = -5 + (float)lrand48()/RAND_MAX*11;
Se metto -6 invece vanno da -5 a 4
Come posso fare?
Salve,
volevo estrarre numeri casuali tra -5 e 5 compresi usando il linguaggio C
Ho provato questo codice:
Mi restituisce valori tra -4 e 5codice:int m = -5 + (float)lrand48()/RAND_MAX*11;
Se metto -6 invece vanno da -5 a 4
Come posso fare?
il cast a float è del tutto fuoriluogo
codice:m = ( lrand48() % 11) - 5;
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
Non usavi l'operatore modulo.
Ad ogni modo per il range di valori che servono a te, è più indicata la rand(), che dovrebbe essere anche più veloce.
Ultima modifica di Samuele_70; 24-01-2015 a 22:42
01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
All errors are undocumented features waiting to be discovered.
Grazie :-)