| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > и опять про случайные числа |
| Автор: 12usver12 27.3.2007, 21:29 |
| скока было статей про случайные числа но так нигде и не увидел как выбрать случайное число из диапазона например от 1000 до 9000 |
| Автор: Данкинг 27.3.2007, 21:39 | ||
|
| Автор: VICTAR 27.3.2007, 21:41 | ||
Что-нибудь типа
|
| Автор: Yanis 27.3.2007, 22:42 | ||
Так на всякий случай упомяну:
|
| Автор: 12usver12 27.3.2007, 23:03 |
| пасиба всем ! |
| Автор: Sunvas 28.3.2007, 19:20 | ||
Лучше уж
|
| Автор: Snowy 28.3.2007, 19:25 |
| Sunvas, ответ неверный. Садись, два Это 2 разных кода и дают разный результат. А по сабжу - верный код во втором посте. |
| Автор: Sunvas 28.3.2007, 19:50 | ||||
Хм. Эт почему?
При {1} значения а возможны от 1 до 9000, при {2} от 0 до 9000. Действительно разница есть, но смотрим код VICTAR-а дальше:
в первом случае мы получаем диапазон от 1001 до 9000 т.к. а не может быть 0, а во втором получаем то, что хотел автор от 1000 до 9000. Или в чем моя ошибка? Добавлено через 9 минут и 57 секунд Вообще код VICTAR-а имеет недостаток: диапазон от 1000 до 2000 имеет более высокий приоритет нежели остальные - ведь 1100 получается и когда загадывается 100 и когда 1100. Кода Данкинг избавлен от предыдущего недостатка, но r лучше сделать типа word, и random(8000) заменить на random(8001). |
| Автор: VICTAR 28.3.2007, 21:08 |
| ладно, только ногами не бейте У Данкинг, получилось всех лучше, но все же и он не до конца прав: макс значение получается 8999 |
| Автор: Sunvas 28.3.2007, 21:31 |
Я уже об этом писал: Остается только загадкой, почему Snowy, на меня наехал?.. |
| Автор: VICTAR 28.3.2007, 21:38 |
| да, я проглядел.... все ошибаются, даже гуру |
| Автор: Snowy 29.3.2007, 01:33 |
| Наехал, потому что ты приравниваешь разный код, дающий разный результат. Да и не наезд это был. Замечание высказано в виде шутки Никого не хочу обидеть. Обычное дело. Просто указал на некорректность. Насчёт ошибаюсь... Не верно. В условии сказано Не указано, включая или нет. Так что верны все значения от 1000 до 9000, включая и не включая границы. Таких 4 варианта. И все правильные Смещать по условию - прямое нарушение распределения. Смещать нужно весь диапазон. Поэтому правильный вариант номер 2. И вообще не понятно, почему такой простой вопрос, породил такое количество реплик. Его решение дано ещё 30 лет назад. Стандарт, можно сказать... |