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

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

Фунция случайных чисел


Октябрь ©   (2002-09-14 12:01:00) 

Здравствуйте коллеги :-)
Ни как не могу врубится :-(
Нужно брать случайное целое число «x» которое лежит в интервале от 0 до 99, для этого я пишу:
x := StrToInt (FloatToStr (Int ((random)*100)));
Запускаю на счет и получаю первый раз 0, затем 3, затем 86, 20, 27 и тд… всегда когда я запускаю эту прогу на счет с начала получаю опять 0, 3, 86, 20, 27…и т.д...!!!!!!! те в датчике случайных чисел явно прослеживается закономерность чтоли???!!! Если да, то как с этим боротся то можно??? Или я чего не так делаю???
Спасибо


Fog   (2002-09-14 13:50:00) [1]

Другими словами в начало процидуры добавь Randomize


Anatoly Podgoretsky   (2002-09-14 12:33:00) [2]

Randomize и Random(100)


Ag2002   (2002-09-14 12:19:00) [3]

Вот есть такая функция в иодуле Math для Делфи-6
function RandomRange(const AFrom, ATo: Integer): Integer;
begin
if AFrom > ATo then
Result := Random(AFrom - ATo) + ATo
else
Result := Random(ATo - AFrom) + AFrom;
end;

Про Randomize тоже не надо забывать !!!


VID   (2002-09-14 12:04:00) [4]

действительно, ужасная ситуация !
особенно когда вызов Randomize перед X:=.. не указан ;)

Вообще-то то, что прослеживается - не закономерность, а 100% совпадение :)


Наверх

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