Форум программистов, компьютерный форум CyberForum.ru

srand(), rand() и их seed - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
WinstonCherchil
 Аватар для WinstonCherchil
7 / 7 / 0
Регистрация: 20.01.2011
Сообщений: 73
22.10.2013, 14:27     srand(), rand() и их seed #1
Пишу класс, объекты которого представляют из себя трехмерные модели планет.
Для того что бы разнообразить ландшафт использую алгоритм, основанный на srand(seed) и rand().

Вопросы:
Гарантированы ли одинаковые генерации чисел для одного и тогоже семени рандома? (нужно для того что бы передавать число, ну или файл настроек генерации на крайний случай, а не всю модель целиком)
Зависит ли генерация чисел от платформы, на которой компилируется программа. (Планируется использовать как MinGW+Win так и GCC+FreeBSD)

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2013, 14:27     srand(), rand() и их seed
Посмотрите здесь:

rand() & srand() C++
C++ Srand
srand C++
C++ srand и rand
rand, srand и т.д C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
22.10.2013, 14:43     srand(), rand() и их seed #2
Цитата Сообщение от WinstonCherchil Посмотреть сообщение
Гарантированы ли одинаковые генерации чисел для одного и тогоже семени рандома?
т.е. например для случаев, где srand(c), c - константа? Да.

Цитата Сообщение от WinstonCherchil Посмотреть сообщение
Зависит ли генерация чисел от платформы, на которой компилируется программа
С srand не зависит.

Цитата Сообщение от WinstonCherchil Посмотреть сообщение
нужно для того что бы передавать число, ну или файл настроек генерации на крайний случай, а не всю модель целиком)
Вам жалко памяти на жестком диске? Вы полагаете, что программе лучше выполнить лишнюю работу по генерации, а затем нарисовать нежели считать последовательность точек с файла и отрисовать по ним? Если нужна одинаковая поверхность то лучше вспомогательной программой запишите N чисел в файл, а затем считывайте эти числа уже основной программой.

Добавлено через 32 секунды
Кстати, что касается графики, то тут srand вам может не хватить.
WinstonCherchil
 Аватар для WinstonCherchil
7 / 7 / 0
Регистрация: 20.01.2011
Сообщений: 73
22.10.2013, 15:17  [ТС]     srand(), rand() и их seed #3
Цитата Сообщение от MrGluck Посмотреть сообщение
Вам жалко памяти на жестком диске? Вы полагаете, что программе лучше выполнить лишнюю работу по генерации, а затем нарисовать нежели считать последовательность точек с файла и отрисовать по ним? Если нужна одинаковая поверхность то лучше вспомогательной программой запишите N чисел в файл, а затем считывайте эти числа уже основной программой.

Добавлено через 32 секунды
Кстати, что касается графики, то тут srand вам может не хватить.
Спасибо.

Жалко не места на жестком диске, жалко времени для передачи через интернет больших миров. К тому же никто не запрещает передавать уже готовый, сохраненный мир. Это уже дело вкуса и провайдера пользователей.

Ландшафт не создается обычным рандомом, алгоритм немного сложнее. Если интересно, за основу взят Алгоритм «diamond-square», который будет немного изменен, для того чтобы можно было генерировать, как случайные миры, так и отталкиваясь от сида. Будет создавать, как плоские, прямоугольные миры, так и сферические (типа планета )
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
22.10.2013, 15:39     srand(), rand() и их seed #4
Цитата Сообщение от WinstonCherchil Посмотреть сообщение
для того чтобы можно было генерировать, как случайные миры, так и отталкиваясь от сида.
накрайняк можно свою функцию псевдослучайной последовательности написать и все
Yandex
Объявления
22.10.2013, 15:39     srand(), rand() и их seed
Ответ Создать тему
Опции темы

Текущее время: 21:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru