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

теория вероятности на эвм - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как при вводе не переносить двоеточие на новую строку? http://www.cyberforum.ru/cpp-beginners/thread959412.html
Задача: Написать программу, в которой осуществляется перегрузка операции сложения. Разработать класс time, в состав которого включить операцию сложения его объектов. Объектом класса является время....
C++ Указатель на шаблонный класс Есть ли возможность инициализировать указатель на класс с шаблоном, но не указав при этом тип, ну т.е. написать не так Value_Class <Value_Type> * Object; чтобы приберечь выбор шаблона до вызова... http://www.cyberforum.ru/cpp-beginners/thread959405.html
C++ Количество элементов последовательности, начиная с третьего, среднее арифметическое элементов
Задача 2. Использование инструкций для организации циклов (обработка вещественных значений) Написать программу, в которой с клавиатуры вводится последовательность из k вещественных чисел (где...
Поменять местам серии массива C++
Дано целое число K (K> 1) и целочисленный массив размера N. Поменять местами первую серию массива и его серию с номером K. Если серий в массиве меньше K, то вывести массив без изменений.(Назовем...
C++ Алгоритм, обратный алгоритму Крускала http://www.cyberforum.ru/cpp-beginners/thread959393.html
Требуется реализовать алгоритм поиска максимального остовного дерева
C++ Не могу до конца понять условие задачи Здравствуйте. Задача 9.5 из учебника программированию Б. Страуструпа: Создайте класс Library. Включите в него векторы классов Book и Patron. Включите также структуру Transaction и предусмотрите в... подробнее

Показать сообщение отдельно
AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 533
23.09.2013, 13:41

Не по теме:

Цитата Сообщение от nic2009nik Посмотреть сообщение
На всякий случай, "грамотно" пишется с одной буквой "м" и во фразе "Берем и стреляем" запятая не нужна.
Ну да, так есть. Ошибся. Спасибо. Впрочем, я не спорю, людям свойственно ошибаться. Но ошибаться, а не делать вопреки систематически.


Цитата Сообщение от nic2009nik Посмотреть сообщение
Теперь по делу, мне действительно было не очень понятно как можно использовать генератор случайных чисел
применительно к данной задаче, поэтому и прошу развернутых объяснений.
Далее, не понял, что значит res?? И может быть в последнем if добавить еще two == three && one != two
Данная задача - симуляция случайных событий. Они по умолчанию случайны и без привлечения к симуляции случайных велечин она не решаема на ЭВМ. К счастью, можно построить ряд чисел, который будет похожим на случайный, используя только математические операции. Собственно, поэтому и используем int rand(), подругому никак.
int res - сокращение от английского result, очень похожего на русское слово результат. Собственно, это результат работы функции
C++
1
int fire ( double chance )
, который мы впоследствии возвращаем. На самом деле, она там не нужна, и можно чуть проще.
Чуть проще.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <cstdlib>
using namespace std;
 
int fire ( double chance ) {
    if ( rand () / double(RAND_MAX) < chance ) {
        return ( rand () % 3 ) + 1;
    }
 
    return 0;
}
 
int main() {
    double A = 0;
    for ( int i = 0; i < 100000; i++ ) {
        int one   = fire ( 0.6 ),
            two   = fire ( 0.6 ),
            three = fire ( 0.6 );
 
        if ( one == two && three != one || one == three && two != one || two == three && one != two ) {
            A++;
        }
    }
 
    cout << A / 100000 << endl;
 
    return 0;
}

Цитата Сообщение от nic2009nik Посмотреть сообщение
two == three && one != two
Ошибка найдена, будем считать материал усвоеным =)
А если быть честным, то я минут пять сидел и пытался просчитать все возможные вариант, хотя я знал, что из формулы количества сочетаний мы имеем ровно 3! / ( 2! * 1! ) = 3. То есть ещё одного варианта не хватает, точно такого, который Вы и нашли.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru