Генерация случайных чисел из заданного диапазона - 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; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с генерацией случайных чисел и временной меткой.
- Функция
randomizer
принимает два аргумента типаdouble
:ER
иERD
. - Инициализируем генератор случайных чисел с помощью
srand(time(NULL))
, гдеtime(NULL)
- это текущее время. - Проверяем каждый из четырех возможных диапазонов случайных чисел, которые нужно сгенерировать, и возвращаем соответствующее случайное число.
- В функции
main
инициализируем генератор случайных чисел с помощьюsrand(time(NULL))
. - Вызываем функцию
randomizer
с аргументами 0.36 и 0.702 и выводим результат на консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д