Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2015, 10:11   #11
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Странно почему вы считаете что при записи rand()%10 распределение будет не равномерным. http://www.cplusplus.com/reference/cstdlib/rand/

А для вашего случая rand() % 21 - 10
Может это и чушь, но это моя чушь и я ее никому не отдам.
Shad0wF1rst вне форума Ответить с цитированием
Старый 19.06.2015, 10:45   #12
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Ну представьте себе, что MAX_RAND 10 а вам надо rand(4).
Пересчитайте все от (от 0 до 9) % 4 и посмотрите какой результат сколько раз выпадет.

Ну да, для малых значений можно пренебречь, но математически распределение будет не случайным.
waleri вне форума Ответить с цитированием
Старый 19.06.2015, 14:20   #13
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Функция rand( ) берёт значение "зерно", которое равно началу работы ОС. Чтобы были всегда разные, Вам советовали выше, srand( time( 0 ) ), функция time( 0 ) возвращает число (время - текущее), конечно иногда требуется принудительно привести к типу. И да rand( ) возвращает число обычное, что бы получить дробное используйте (float)(rand() % (100 * 10)) / 10;

ПСЫ: srand( time( 0 ) ) достаточно написать один раз в точке старта приложения, та же main().

% - получение остатка от деление, видите ли, rand() выдаёт очень большое число...
Если помог, тут весы есть , Вам не сложно, а мне приятно.

Последний раз редактировалось Perchik71; 19.06.2015 в 14:25.
Perchik71 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция rand() goluzov Общие вопросы C/C++ 11 05.02.2013 09:41
Функция rand Mehanizator Помощь студентам 2 13.08.2011 14:02
функция генерации случайных чисел rand() в main pufystyj Общие вопросы C/C++ 4 08.02.2011 21:09
rand в c++, Якъ Помощь студентам 3 11.11.2010 17:05
rand() ????? Revenholm Общие вопросы C/C++ 7 25.04.2009 18:47