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

rand() - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
kaffein
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
02.12.2010, 20:03     rand() #1
генератор случайных чисел rand()
подскажите пожелуста как работает ета штука. что означает %200, %200-100. какой принцип роботы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 20:03     rand()
Посмотрите здесь:

rand C++
rand C++
rand() C++
C++ rand от 1 до 16
rand()%(-20)%(20); C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
02.12.2010, 20:05     rand() #2
http://www.cyberforum.ru/cpp-beginners/thread44753.html
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
02.12.2010, 20:06     rand() #3
Цитата Сообщение от kaffein Посмотреть сообщение
что означает %200
Это диапазон генерируемих чисел, в этом случае [0; 199]
Цитата Сообщение от kaffein Посмотреть сообщение
%200-100
[-100; 100]
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
02.12.2010, 20:08     rand() #4
это остаток от деления на 200. Для любого сгенерированного числа остаток от деления на 200 будет меньше 200 и больше нуля.

Не по теме:

ну, это так, к слову пришлось)

kaffein
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
02.12.2010, 21:01  [ТС]     rand() #5
если ,например, нужно сгенерировать какой-то год с 2000 до 2010 года ранд будет виглидеть так rund()%2010-2000 ?
и что такое srand() и srand(time(NULL));
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
02.12.2010, 21:04     rand() #6
kaffein, Функция srand устанавливает начальную точку для генерации
множества псевдослучайных целых.
Цитата Сообщение от kaffein Посмотреть сообщение
если ,например, нужно сгенерировать какой-то год с 2000 до 2010 года ранд будет виглидеть так rund()%2010-2000 ?
Так надо
C++
1
rand()%10+2000;
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.12.2010, 21:05     rand() #7
Не, лучше генерировать число от 0 до 10 и прибавлять потом его к 2000.
И ещё, лучше пользоваться b + (b - a) * rand() / RAND_MAX, так число будет казаться более случайным
srand - зерно датчика. Если его не установить, при каждом запуске программы будут выдаваться одни и те же случайные числа.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
02.12.2010, 21:09     rand() #8
Цитата Сообщение от kaffein Посмотреть сообщение
rund()%2010-2000
так будут числа от -2000 до 2009
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2010, 21:22     rand()
Еще ссылки по теме:

rand C++
rand() C++
Rand() C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kaffein
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
02.12.2010, 21:22  [ТС]     rand() #9
всем спасибо
Yandex
Объявления
02.12.2010, 21:22     rand()
Ответ Создать тему
Опции темы

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