2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Свой random c++
Сообщение23.03.2010, 18:18 


31/08/09
183
Глянул прогу, с рандомом

Код:
int random(int n)
{
    srand ( time(NULL) );

return rand()%n;
}


Если вызывать подряд, то возвращает и для первого и для второго слуая одинаковые числа, если передавать одно и тоже число, т.е.
Код:
line=random(100);
column=random(100);

Есть ли ещё какой способ?

 Профиль  
                  
 
 Re: Свой random c++
Сообщение23.03.2010, 18:24 
Админ форума
Аватара пользователя


19/03/10
8952
 !  Не плодите одинаковые темы. Дубликат удалён.

 Профиль  
                  
 
 Re: Свой random c++
Сообщение23.03.2010, 18:25 
Заслуженный участник
Аватара пользователя


03/06/09
1497
srand() один раз только надо вызывать, для затравки. Потом только rand().

 Профиль  
                  
 
 Re: Свой random c++
Сообщение23.03.2010, 22:08 
Заслуженный участник
Аватара пользователя


06/10/08
6422
mycoding в сообщении #301390 писал(а):
Если вызывать подряд, то возвращает и для первого и для второго слуая одинаковые числа, если передавать одно и тоже число, т.е.
Логично, потому что за время выполнения этих команд системное время не успевается смениться.
mycoding в сообщении #301390 писал(а):
Есть ли ещё какой способ?
Устанавливать seed только один раз, в начале выполнения программы.

 Профиль  
                  
 
 Re: Свой random c++
Сообщение23.03.2010, 22:30 


31/08/09
183
Спасибо, помогло

 Профиль  
                  
 
 Re: Свой random c++
Сообщение24.03.2010, 11:02 


04/02/08
325
Буково
Кстати, в тех же numerical receipes были примеры генераторов псевдослучайных чисел. Но современные генераторы и так неплохо работают. За основу seed берется так называемая энтропия, вычисляющаяся из множества различных параметров (загрузка оперативки, процессора и т.п.), меняющихся с течением времени.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group