Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как задать диапазон для Random?


Страницы:   1 2

Zvr@b ©   (2004-07-08 02:14:00) 

Как задать диапазон чисел для функции Random? Т.е. мне нужно не от 0 до N, а например от 1 до N


Alex_Rom   (2004-07-08 02:49:00) [21]


> KilkennyCat ©   (08.07.04 02:45) [13]


Random(N) - к минимальному значению прибавляет случайное сило в диапазоне [0,N].
В итоге имеем число в пределах [1,N + 1]. - Конечно нет.
Возьми напиши в Паскале прогу :
for i:=1 to 50 do writeln(random(1)) И ты не получишь ни одной единицы!
Результатом работы функции random(n) есть число в пределах [0, n-1]  !


Palladin   (2004-07-08 02:48:00) [22]


> Zvr@b   (08.07.04 02:43)

Вообще то TMemo.Lines:TStrings


KilkennyCat   (2004-07-08 02:45:00) [23]


> Alex_Rom   (08.07.04 02:38) [9]

если
a:=Random(N)+1
то
+1 - обеспечивает минимальное значение. верно
Random(N) - к минимальному значению прибавляет случайное сило в диапазоне [0,N-1]. неверно
В итоге имеем число в пределах [1,N]. неверно

будет так:

Random(N) - к минимальному значению прибавляет случайное сило в диапазоне [0,N].
В итоге имеем число в пределах [1,N + 1].


Zvr@b   (2004-07-08 02:43:00) [24]

....и ещё : перенос строки в Memo это символ - #13 нужно добавить или нет?


Zvr@b   (2004-07-08 02:39:00) [25]

Ладно ребята... не горячитесь! Видимо я ещё не дорос для того чтобы понять вас так просто на словах... Мне действительно без примера непонятно!
Если вас это напрягает ... незачем вообще отвечать!
Это я не в укор, но меня тоже можно понять!


Zvr@b   (2004-07-08 02:39:00) [26]

.... ответ последний.... устарел!


Alex_Rom   (2004-07-08 02:38:00) [27]

>KilkennyCat ©  
Why? :|


KilkennyCat   (2004-07-08 02:36:00) [28]


> Alex_Rom   (08.07.04 02:33) [6]


Неверно.


KilkennyCat   (2004-07-08 02:35:00) [29]


> Zvr@b   (08.07.04 02:33) [5]


Нет, пример привести даже проще и быстрее. Но смысл? В результате объяснения, даже если неверного, есть шанс, что Вы увидите ход рассуждения и научитесь мыслить самостоятельно. В случае кода, есть шанс, что Вы зашаблонитесь. А в данном случае уровень программирования вообще не имеет значения - чистая математика.


Alex_Rom   (2004-07-08 02:33:00) [30]

Можно так
a:=Random(N)+1

+1 - обеспечивает минимальное значение.
Random(N) - к минимальному значению прибавляет случайное сило в диапазоне [0,N-1].
В итоге имеем число в пределах [1,N].


Zvr@b   (2004-07-08 02:33:00) [31]

Я вообщето только начинаю программировать, по крайней мере учусь... И слова "а к результату это смещение прибавить.
" не совсем допонимаю! Не ужели так сложно пример привести?


KilkennyCat   (2004-07-08 02:30:00) [32]

мда... ладно, попробую по-другому:

Это очень просто: уменьшить значение диапазона (в данном случае на единицу), а результат увеличить. Это и будет называться смещением диапазона.

---------------------------------
Объяснение = помощь. Код = $


Palladin   (2004-07-08 02:28:00) [33]

Может тебе еще пример сложения двух целочисленных чисел привести? А то действительно... как то непонятно написано... сложить два числа... черт его знает что под этим скрывается...


Zvr@b   (2004-07-08 02:25:00) [34]

А можно пример привести?


KilkennyCat   (2004-07-08 02:17:00) [35]

Это очень просто: сместить диапазон в меньшую сторону (в данном случае на единицу), а к результату это смещение прибавить.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо