2

I have polje[i]=rand()%30+1; for random between 1-30, but how can I make it so it's between 10 and 30?

MOHAMED
  • 41,599
  • 58
  • 163
  • 268
user2627736
  • 281
  • 1
  • 4
  • 13
  • possible duplicate of [How to generate a random number from within a range - C](http://stackoverflow.com/questions/2509679/how-to-generate-a-random-number-from-within-a-range-c) and of [Generate random numbers uniformly over entire range](http://stackoverflow.com/questions/288739/generate-random-numbers-uniformly-over-entire-range) –  Jul 28 '13 at 14:34
  • little late but the simplest answer is int random = arc4random_uniform(20) + 10; – Sam B Apr 03 '16 at 15:42

3 Answers3

5
polje[i]=rand()%21+10;

The %21, gives you a number between 0 and 20. Adding 10, gives you a number between 10 and 30.

Tricky question...Hope that helps...

Samir Seetal
  • 392
  • 6
  • 8
  • 1
    Another way to clarify would be that `21 = (30-10)+1` and `+10` signifies the starting number. So you could have `min = 10; max = 30; range = max - min; polje[i] = rand() % (range + 1) + min;` – Jens Bodal Apr 30 '16 at 18:32
1

How about using rand()%20+11? With this you can generate random numbers from 10 to 29. Dint this work? Or try rand()%21+10 This one will be include 30 too.

Bhargav Ponnapalli
  • 9,224
  • 7
  • 36
  • 45
1

You can try rand()%21+10;

the answer is in the range of (10,30)

FoRever
  • 11
  • 1