2013-07-28 3 views
2

У меня есть polje[i]=rand()%30+1; для случайных значений от 1 до 30, но как я могу сделать так, чтобы между 10 и 30?C - Случайные числа между 10 и 30

+0

возможно дубликат [Как сгенерировать случайное число из диапазона в пределах - C] (http://stackoverflow.com/questions/2509679/how -to-generate-a-random-number-from-in-a-range-c) и [Генерировать случайные числа равномерно по всему диапазону] (http://stackoverflow.com/questions/288739/generate-random-numbers - равномерно по всему диапазону) –

+0

немного поздно, но самый простой ответ - int random = arc4random_uniform (20) + 10; –

ответ

1

Как насчет использования rand()% 20 + 11? С этим вы можете генерировать случайные числа от 10 до 29. Dont эта работа? Или попробуйте rand()% 21 + 10 Этот будет включать 30 тоже.

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

% 21, дает число в диапазоне от 0 до 20. Добавление 10, дает число между 10 и 30.

каверзный вопрос ... Надежда, что помогает ...

+0

Другим способом уточнения является то, что '21 = (30-10) + 1' и' + 10' означает начальный номер. Таким образом, вы можете иметь 'min = 10; max = 30; range = max - min; polje [i] = rand()% (диапазон + 1) + мин; ' –

1

Вы можете попробовать rand()% 21 + 10;

ответ находится в диапазоне (10,30)

Смежные вопросы