случайные цифры



Автор Їебупенька задал вопрос в разделе Другие языки и технологии

Написал малую программу на паскале. Как сделать, чтоб случайные цифры не повторялись? код в пояснении и получил лучший ответ

Ответ от Јин[гуру]
на самом деле генератор случайных чисел выдает не случайные, а псевдослучайные числа. Т. е. обычно при каждом запуске выдаются одна и та же последовательность чисел. Что бы этого не происходило, генератор сначала инициализируется каким-то числом, после этого последовательность будет идти с этого числа. Естественно, если инициализация производится одним и тем же числом, мы опять же будем иметь одни и те же последовательности, поэтому в качестве инициализирующего числа часто используют время (например минуты+секунды) , что дает разные последовательности при каждой инициализации (кроме случаев когда эта сумма снова повторится) . Насколько помню инициализация ГСЧ в паскале производится оператором randomize, без указания параметра она инициализируется именно значением текущего времени. А так как цикл выполняется достаточно быстро, мы и получаем инициализацию одним и тем же значением
И вообще, все встроенные функции реализации ГСЧ достаточно простые и выдают не слишко равномерное распределение, все толковые программисты ими не пользуются и пишут свои

Ответ от Полосатый жираф Алик[гуру]
Вытащи randomize из цикла. Один раз проинициализировал - и хватит.

Ответ от Fox[гуру]
честно! сам задавался этим вопросом, (почему генератор случайных чисел выдает одни и теже числа?)

Ответ от Sm[гуру]
> Написал малую программу
> Как сделать, чтоб случайные цифры не повторялись?
Надо написать программу побольше.
> дайте конкретный ответ
icq 16952 714 3

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Написал малую программу на паскале. Как сделать, чтоб случайные цифры не повторялись? код в пояснении
Генератор псевдослучайных чисел на Википедии
Посмотрите статью на википедии про Генератор псевдослучайных чисел
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*