Генерация случайных чисел из заданного диапазона - C (СИ)

Узнай цену своей работы

Формулировка задачи:

как сделать рандом из определенного интервала? т.е
if (x>0.15 && y<0.456)
z=[-42.5,-78]//z принимает значения из этого интервала

Решение задачи: «Генерация случайных чисел из заданного диапазона»

textual
Листинг программы
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
 
 
double randomizer(double ER,double ERD)
{
     srand(time(NULL));
     if (ER<0 && ER>-2 && ERD<0 && ERD>-2 )
      return (40+(44.9-40)*rand()/100000);
     else if (ER>0 && ERD>0 && ER<1 && ERD<1 || ER<1 && ER>0 && ERD>1 && ERD<2)
      return (41+(44-41)*rand()/100000);
     /*else if (ER<0 && ER<-1)
       return [38,40];
     else if (ER<0 && ER>-2 && ERD<-2)
       return [35.04,37];
     else if (ER>-2 || ER>-1 && ERD>-2 || ERD>-1)
       return [20.0,25];
     else if (ER>1 || ERD>1)
       return [60,63];
     else 
      return [41,43];*/
    
}
 
int main()
{
    srand(time(NULL));
    cout<<randomizer(0.36,0.702)<<endl;
 
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с генерацией случайных чисел и временной меткой.
  2. Функция randomizer принимает два аргумента типа double: ER и ERD.
  3. Инициализируем генератор случайных чисел с помощью srand(time(NULL)), где time(NULL) - это текущее время.
  4. Проверяем каждый из четырех возможных диапазонов случайных чисел, которые нужно сгенерировать, и возвращаем соответствующее случайное число.
  5. В функции main инициализируем генератор случайных чисел с помощью srand(time(NULL)).
  6. Вызываем функцию randomizer с аргументами 0.36 и 0.702 и выводим результат на консоль.

Оцени полезность:

11   голосов , оценка 4.545 из 5
Похожие ответы