I'm trying to generate random numbers between -10 and +10. Any help...below is what I've tried:
Code:srand(time(NULL)); for (int i=0;i<10;i++) cout << ((rand() % -10) + -10 + 10) << endl;
I'm trying to generate random numbers between -10 and +10. Any help...below is what I've tried:
Code:srand(time(NULL)); for (int i=0;i<10;i++) cout << ((rand() % -10) + -10 + 10) << endl;
it's easier to start with a positive range and then move it into the negatives. get a random number from 0 to 20 and then subtract 10.
Code:rand() % 20 - 10
actually x%20 has values from 0 to 19 and rand()%20 -10 will give [-10;9] range
All problems in computer science can be solved by another level of indirection,
except for the problem of too many layers of indirection.
– David J. Wheeler
Thanks!
that's right. there are 4 ways "between x and y" could be interpreted.
[x,y] - all inclusive
[x,y) - right exclusive
(x,y] - left exclusive
(x,y) - all exclusive
usually [x,y) is what's wanted, and that's what my suggestion does. but if you want one of the others, it's easy to change to suit any of the interpretations with simple math.
Last edited by Meldreth; 02-18-2009 at 03:34 PM.