Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2013, 15:42   #1
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию Как работает RandomRange?

Delphi XE3

Код:
for i:= 0 to 100 do
  begin
   Randomize;
    Memo2.Lines.Add(IntToStr(RandomRange(1,2)));
  end;
В итоге только единички. Так и должно быть? Или же все-таки и двоечки должны быть ?
bakanaev вне форума Ответить с цитированием
Старый 12.03.2013, 16:30   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

АААА!!!!
Во-первых, УБЕРИТЕ Randomize; из цикла!!
Эта процедура (иницилизация генератора псевдослучайных чисел) должна вызываться ОДИН раз (обычно при запуске программы!). Например, на событии onCreate главной формы..

во-вторых, если не устраивает работа функции, а нужны числа от [1, 2], то кто мешает написать:
Код:
for i:= 0 to 100 do
    Memo2.Lines.Add(IntToStr(Random(2)+1));
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.03.2013, 16:42   #3
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Цитата:
АААА!!!!
Не надо кричать
Цитата:
Во-первых, УБЕРИТЕ Randomize; из цикла!!
Эта процедура (иницилизация генератора псевдослучайных чисел) должна вызываться ОДИН раз (обычно при запуске программы!). Например, на событии onCreate главной формы..
Не знал, спасибо)
Цитата:
если не устраивает работа функции
Мне просто интересно, при желание я мог сделать
Цитата:
Memo2.Lines.Add(IntToStr(RandomRang e(1,3)));
Вы мне лучше скажите, при RandomRange(1,2) двойка не рассматривается как вариант ?

UPD.
Цитата:
УБЕРИТЕ Randomize; из цикла!!
А что будет если не убирать ?
bakanaev вне форума Ответить с цитированием
Старый 12.03.2013, 17:10   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

http://docwiki.embarcadero.com/Libra...th.RandomRange
Читаем внимательно.

Для коллег замечу, что в справке дельфи7 стоит слово inclusive (дельфи2007 - уже non-inclusive) . Вот она обратная совместимость...
[sarcasm]а я так хотел написать самую азартную игру в мире на этой функции[/sarcasm]
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эвристическое составление расписания. Как работает Эвристика и как ее использовать в программировании JinAnton C# (си шарп) 0 06.01.2013 14:34
RandomRange gsl180 C++ Builder 2 07.08.2012 23:41
Люди. Как сделать правильно? Прога работает, но не так, как надо. Должна генерировать лабиринты и находить путь из него SapHain Visual C++ 2 12.06.2012 09:15
Как работает?! KamBall Общие вопросы C/C++ 2 01.06.2009 19:23
RandomRange SERG1980 Общие вопросы Delphi 4 20.04.2009 11:39