![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как задать диапазон для Random?
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]Это очень просто: сместить диапазон в меньшую сторону (в данном случае на единицу), а к результату это смещение прибавить.