Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

random в C++

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
the_4ajnik



Зарегистрирован: 16.03.2003
Сообщения: 2

СообщениеДобавлено: Вс Мар 16 2003 20:25    Заголовок сообщения: random в C++ Ответить с цитатой

Народ как сделать так, чтобы значения, возвращаемые функцией random() или ей подобной не повторялись при повторном запуске программы. Заранее благодарен.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Вася
Гость





СообщениеДобавлено: Пн Мар 17 2003 04:15    Заголовок сообщения: Да это не только в C++, это много где так. Ответить с цитатой

Не знаю точно из какого промежутка значений случайное значение в с++ производится, на какой основе. Наверное [0;1], как в учебниках всех, не суть. Дело в том, что соображает для себя сам и каждый случайное значение, и все через это дело проходят. Кто что вытворяет и на сколько фантазии хватает. Первое, что всем в голову лезет - это со временем совместить стандартный random(). Потом начинают искать другую изменяющуюся величину. Например, размер оставшегося свободного места с точностью до байта. В этих изысканиях много любопытного и суть даже не в том, что в результате получается "открытие Америки" или "изобретение велосипеда", суть в том, что каждый начинает больше понимать во всей этой кухне, понимать, что сообразить удачную процедуру не получится, если не знаком с анализом и плевать хотел на геометрию.
Вернуться к началу
sh



Зарегистрирован: 11.03.2002
Сообщения: 121

СообщениеДобавлено: Пн Мар 17 2003 12:12    Заголовок сообщения: randomize() (-) Ответить с цитатой

.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ilyasov
Гость





СообщениеДобавлено: Пн Мар 17 2003 13:21    Заголовок сообщения: случайные последовательности зависят от некоторого стартового значения Ответить с цитатой

Процедуры генерации случайных чисел обычно отталкиваются от некоторого стартового значения. Это значение определяет как длину последовательности (до ее повторения) так и саму последовательность. Не зря же последовательности называют псевдослучайными, т.к. они в действительности порождают вполне определенные величины. Для получения различных последовательностей при разных запусках программы следует менять стартовое значение последовательности по какому-либо алгоритму. Можно использовать состояние машины, системы для выбора стартового значения. Вариант выбора -произвольный. В FreeBSD существует даже /dev/random специально для этих целей.
Вернуться к началу
GREA



Зарегистрирован: 14.05.2003
Сообщения: 758
Откуда: Новосибирск

СообщениеДобавлено: Пн Мар 17 2003 20:50    Заголовок сообщения: Re: random в C++ Ответить с цитатой

Используй системное время в качестве значения для инициалиизации.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Юрий
Гость





СообщениеДобавлено: Ср Мар 19 2003 12:43    Заголовок сообщения: Re: random в C++ Ответить с цитатой

То что вы сказали, умные люди уже сделали
инициализация по времени - randomize
А генератор случайной,равномерно распределенной
величины почти всегда опирается на предыдущие
2 числа,в основном :
c3 = (a*c1 + b*c2) % c ; a,b,c = const
c1,c2 - пред. числа
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...