![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.07.2009
Сообщений: 89
|
![]()
Здравствуйте!
Мне надо генерировать рандомно дату из заданного промежутка. Например выбрать случайным образом дату из промежутка 12-3-2008 и 21-5-2010. Сначал думал просто randomom генерировать день, месяц и год. Но не могу придумать как согласовать, чтобы дата потом не выходила за заданный промежуток. Спасибо за помощь. |
![]() |
![]() |
![]() |
#2 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
![]()
Генерируй год, потом месяц, затем дату месяца (в зависимости от месяца выбирай диапазон функции Random(Range)+1.) +1 для исключения 0. В зависимости от года (високосный или нет) выбирай соответствующий Range для февраля... Год генерируешь рандомно пока не окажешься в нужном диапазоне in [2008..2010], ну и так далее по аналогии...
Перемешивай дело с бездельем и не сойдешь с ума...
Последний раз редактировалось Grag; 08.04.2010 в 17:22. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 31.07.2009
Сообщений: 89
|
![]()
Не всё так просто.
Если промежуток такой 12-5-2008 и 21-2-2010, то как генерировать месяц? Я пока не нашёл другог решения как использовать кучу ifов |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а поиском почему не пользуетесь?!!
вот здесь - "Генерация случайных дат из диапазона, как реализовать?" мой пост #3 |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]() Код:
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
есть две даты
расчитать количество дней между датами (есть готовые функции F1 date/time routines) получить случайное число в рассчитанном диапазоне добавить к первой дате полученное число Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 09.04.2010 в 08:58. |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
evg_m, дата d2 никогда не будет попадать в диапазон, надо +1 внутри вызова random()
но по сути, абсолютно согласен с Вашим решением. Цитата:
![]() ![]() ![]() ладно, тогда продублирую код прямо здесь: Код:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автоматизация заполнения даты и зависимость ячейки времени к ячейке даты. | Каравай | Microsoft Office Excel | 14 | 11.03.2010 18:11 |
Выборка записей в промежутке нескольких минут | ssdm | SQL, базы данных | 4 | 29.01.2010 15:47 |
Как сделать, чтобы ГСЧ выдавал числа в определенном промежутке? | HawkSerj | Общие вопросы Delphi | 8 | 31.07.2009 20:24 |
Машина случайным образом генерирует натуральные числа в промежутке [0, 1, 2, … 100] | JustinTI | Помощь студентам | 4 | 21.12.2008 14:31 |
Машина случайным образом генерирует натуральные числа в промежутке [0, 1, 2, … 10] до тех пор, пока не 0 | JustinTI | Помощь студентам | 3 | 21.12.2008 14:31 |