@dworff

Как правильно задать диапазон рандомных чисел функцией rand?

Имеется массив из 1000 элементов. Мне необходимо задать интервал a,b где а и b является случайными числами. Но при этом интервал не должен "заезжать" за границу моего массива из 1000 элементов.
for (int i =1; i<=1000; ++i) //кол-во запросов 
{
   int a = rand() % 1000;
   int b = rand() % 1000;

   if (a > b) {
      int tmp_b = b;
      b = a;
      a = tmp_b;
   }

Но, мне было сказано, что int a = rand() % 1000; не верно, т.к. заезжает за границы массива.
Я разобрался с функцией rand и по формуле max-min+1 высчитал и вышло у меня все равно 1000...
  • Вопрос задан
  • 509 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vanyamba-electronics
int a = 999 * rand() / RAND_MAX;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
AKCP Новосибирск
от 180 000 ₽
Acamar Пльзень
от 220 000 до 260 000 ₽
Hybrik Красноярск
от 70 000 до 140 000 ₽