PDA

Visualizza la versione completa : Domanda numeri casuali in C...


v.pantile
05-03-2003, 19:08
Salve a tutti!

Volevo porre un quesito sicuramente di semplice risoluzione.

Generando dei numeri casuali con l'ausilio delle funzioni srand() e rand(), ho notato che ad esempio..

per x = rand() % 150;
genera dei numeri compresi nell'intervallo tra 0 e 150.

per x = 3 + rand() % 150;
genera dei numeri compresi nell'intervallo tra 3 e 150.

mentre..per es.

per x = 10 + rand() % 150;
genera dei numeri compresi tra 10 e 160.

Perchè nell'ultimo il limite max sfora di 10 e nel secondo caso invece il limite non sfora di tre come invece un neofita come me sarebbe portato a pensare?

Grazie a tutti!
CIAO! :ciauz:

v.pantile
05-03-2003, 19:11
...normalmente nel terzo caso dovrebbe generare dei numeri compresi nell'intervallo tra 10 e 150 come per il secondo caso genera i numeri tra 3 e 150.

Dwenegar
05-03-2003, 19:59
l'operatore "%" ha la precedenza sull'operatore "+" pertanto

3 + rand() % 150

dovrebbe calcolare dei numeri tra 3 e 153

v.pantile
06-03-2003, 12:07
E come faccio allora a pescare un numero compreso tra 3 e 150 o tra 10 e 150 utilizzando l'operatore modulo???

lelefante
06-03-2003, 12:31
Nel primo caso:
3 + rand() % 147;
nel secondo:
10 + rand() % 140;

Loading