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

Имитация игры с костями, вероятность шести - наибольшая - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка оператора "<<" для вывода пользовательских классов http://www.cyberforum.ru/cpp-beginners/thread1231044.html
Всем доброго времени суток. Пытаюсь сделать перегрузку оператора "<<" для того, чтобы можно было выводить объекты пользовательского класса таким образом: cout <<object_my_class; //или так cout...
C++ Ошибки при работе с шаблонами Всем привет. Пишу упрощенный List с использованием шаблонов. Но в итоге я получаю вот такие сообщения про ошибки. "class template has already been declared as a non-class template" - указывает на... http://www.cyberforum.ru/cpp-beginners/thread1231031.html
C++ Хранение информации о многомерном массиве
При передаче в функцию многомерного массива требуется обязательно указывать все его соответсвующие размерности, кроме первой. Хранится где нибудь данная информция при выполнении программы или даннаю...
Deadlock и racecondition проверить код C++
класс принимает функцию и количество потоков...и все время поддерживает одновременное выполнение 10 потоков этой функции...интересуют ошибки связанные с многопоточным программированием...может еще...
C++ Каким образом реализуется квалификатор const? http://www.cyberforum.ru/cpp-beginners/thread1230979.html
Каким образом реализуется квалификатор const? Хранится ли в памяти в процессе выполнения программы какая либо информация по этому поводу(например что данные константны)?
C++ Автоматическое добавление dll в проект при сборке в CodeBlocks и Eclipse CDT Хочу, чтобы при сборке необходимые библиотеки автоматически помещались в директорию с скомпилированным исполняемым файлом. Как это сделать в Code::Blocks и Eclipse CDT, если это вообще возможно? подробнее

Показать сообщение отдельно
ValeryS
Модератор
6673 / 5082 / 474
Регистрация: 14.02.2011
Сообщений: 17,047
21.07.2014, 12:22
Цитата Сообщение от Supernatural Посмотреть сообщение
ValeryS, к чему клонишь?
к тому что написано у тебя неправильно
C++
1
2
a=rand()%2;
if (a==0) a++; //если а=0, то прибавляем 1
остаток от деления на 2 это 0 или 1
если 0 прибавляем 1
итого всегда 1
теперь вернемся к оригиналу
C++
1
2
3
4
srand(time(0));
a=rand()%6;
if (a==0) a++; //если а=0, то прибавляем 1
cout<<a;
как ты правильно отметил остаток от деления на 6 лежит в диапазоне 0-5
если выпало 0 прибавим 1 будет
если 1, 2 , 3 , 4, 5 то ничего не делаем
результат 6 никогда не выпадет
а 1 будет появляться чаще остальных
выбрось иф и будет тебе щастье
C++
1
2
3
4
srand(time(0));
a=rand()%6;
 a++; 
cout<<a;
диапазон от 1 до 6

хотя по большому счету, все решения неправильные, и мое тоже
для статистики нельзя употреблять % уж больно плохое распределение

по правильному нужно так
C++
1
a=rand()*6/RAND_MAX+1;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru