Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.59
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
#1

Можно ли задать вероятность выпадения числа в функции Rand(); - C++

09.05.2011, 22:02. Просмотров 2862. Ответов 7
Метки нет (Все метки)

Вопрос в названии темы
если можно как то задать вероятность то хотелось бы увидеть пример в коде!

то есть допустим rand выдает чиса от 0 до 1 включительно
как сделать чтобы вероятность выпадения 0 была 30%, а 1 70%
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2011, 22:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Можно ли задать вероятность выпадения числа в функции Rand(); (C++):

Как задать диапазон с помощью функции rand? - C++
В задаче говорится "Дан массив целых чисел (размер – случайное число из диапазона )". Как задать диапазон с помощью функции...

Найти вероятность выпадения крестиков, ноликов и пустой клетки - C++
Проблема в следующем мой преподаватель скинул мне готовую программу для вычисления вероятности выпадения крестиков , ноликов и пустой...

Упаковка и распаковка групп чисел и вероятность выпадения граней костей - C++
21. Создать программу с функциями упаковки/распаковки группы из 6 чисел диапазона 0..31 (00000..11111) в переменной типа longword...

Вероятность в rand() - C++
Хочу поинтересоваться функция rand() с привязкой ко времени, то у нее вероятность будет одинаковая или иной, тогда как сделать что бы...

Как задать диапазон rand - C++
Как задать диапазон rand например от 3 до -5?

Можно ли задать такие параметры, чтоб в функции произошла ошибка? - C++
class TMatrix; class TVector { public: double x; double y; double z; TVector operator * (const TMatrix &Turn); ...

7
ValeryLaptev
Эксперт С++
1042 / 821 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.05.2011, 22:05 #2
Дык вероятность равна 1/RAND_MAX. Распределение-то равномерное.
0
valeriikozlov
Эксперт С++
4673 / 2499 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
09.05.2011, 22:08 #3
nill, Вариант:
- генерируем случайные числа в диапазоне от 0 до 9 включительно.
- если выпадает 0, 1, 2 - переделываем их в 0
- если выпадает 3, 4, 5, 6, 7, 8, 9 - то переделываем их в 1
0
ruslan_abel
33 / 33 / 4
Регистрация: 06.05.2011
Сообщений: 91
09.05.2011, 22:12 #4
Можно попробовать сделать массив a из ста элементов. где 30 нулей и 70 единичек. А с помощью rand получать случайное число i от 0 до 99. И тогда a[i] будет 1 с вероятностью 70%.
0
nill
10 / 10 / 0
Регистрация: 16.08.2009
Сообщений: 417
09.05.2011, 22:15  [ТС] #5
valeriikozlov, ruslan_abel,
сложный способ, в реальной задаче у меня около тысячи выпадающих чисел


ValeryLaptev,
ну да это логично но как это мне поможет решить проблему ?
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
09.05.2011, 22:24 #6
можно как-то так:
int((rand%100)/70)
0
ValeryLaptev
Эксперт С++
1042 / 821 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.05.2011, 22:27 #7
А так и поможет, как тебе уже показали:
C++
1
2
3
int function()
{ int m = rand()%10;
if(i<3) return 0; else return 1; }
0
ruslan_abel
33 / 33 / 4
Регистрация: 06.05.2011
Сообщений: 91
09.05.2011, 22:27 #8
Можно еще сгенерировать случайное число от 0 до 99. Если оно попадает в диапазон [0; 29] то вернуть 0. А если [30; 99] то вернуть 1.
0
09.05.2011, 22:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 22:27
Привет! Вот еще темы с ответами:

Rand() исключение числа - C++
У меня есть код a = -2 + rand () %10; Мне нужно чтобы генерировало все числа от 2- до 10 , кроме 0 Пытался сделать вот так : a =...

Отрицательный числа в rand() - C++
Как?

Использование функции rand() - C++
Здравствуйте! У меня проблемка. Мне нужно чтобы функция rand() выдавала значения от как это реализовать?

Использование функции rand() - C++
Доброго времени суток, при использовании библиотечной функции rand() (которая должна генерировать случайное число, как я понимаю)...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru