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

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

Войти
Регистрация
Восстановить пароль
 
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 656
#1

Вычисление вероятности затопления авианосца - C++

14.10.2012, 13:39. Просмотров 815. Ответов 4
Метки нет (Все метки)

Всем доброго время суток. Группа из n подводных лодок атакует авианосец. Лодки по очереди выпускают по одной торпеде с ядерным зарядом: если выпущенная лодкой торпеда не попала в авианосец, торпеду выпускает следующая подводная лодка. Вероятность попадания торпеды в авианосец равна p. выпуская торпеду, лодка демаскирует себя, в силу чего подвергается атаке со стороны кораблей охранения. Вероятность затопления демаскированной подводной лодки кораблями охранения равна p1. Написать программу для вычисления вероятности P(A) события A, состоящего в том, что авианосец будет затоплен, а подводные лодки уйдут из зоны действия кораблей охранения без потерь. Вероятность P(A) события A, состоящего в том, что авианосец будет затоплен вычисляется по формуле:
http://www.cyberforum.ru/cgi-bin/latex.cgi?P(A) = p * (1 - p1) * \frac{(1 - {q}^{n})}{(1 - q)},
где
http://www.cyberforum.ru/cgi-bin/latex.cgi?q = (1 - p) * (1 - p1)
Вот сама программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cmath>
#include <iostream>
using namespace std;
int main()
{
 setlocale( LC_ALL,"Russian" );
    double p,p1,P,q;
    int n;
    cout << "p = "; cin >> p;
    (0 < p || p > 1)  ?  (cout<<"Неверное значение!"<< endl, exit(0)) : cout << "p1 = "; // Проверка корректности значения p
    cin >> p1;
    (0 < p1 || p1 > 1)  ?  (cout << "Неверное значение!"<< endl, exit(0))  :  cout << "n = "; // Проверка корректности значения p1
    cin >> n;
    q = (1 - p) * (1 - p1);
    P = p * (1 - p1) * (1 - pow(q,n))/(1 - q);
    system("pause");
    return 0;
}
При вводе значений p и p1 меньше 0 или больше 1, должно появляться сообщение: "Неверное значение!" до тех пор пока пользователь не введет значения удовлетворяющие условию вероятностей, затем вычислить результат и вывести его на экран. У меня программа работает не корректно???? Подскажите пожалуйста как исправить ошибку???? Заранее огромное спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2012, 13:39     Вычисление вероятности затопления авианосца
Посмотрите здесь:

Вычисление вероятности - C++
Задача : В порт в среднем приходит 3 корабля в день. Какова вероятность того, что в порт в день придет 2 корабля;4 корабля?....

Вычисление вероятности для решения бота - C++
Доброго времени суток! У меня в задании сказано сделать логику для ботов в игре блэк джэк. Я сделал так, что если сумма очков &lt;=10 то...

Вычисление непрерывных дробей и выражений. Вычисление полиномов и их производных. - C++
1. Чему равна знакочередующаяся сумма цифр числа n. 2. Даны натуральное число n и вещественное число х. Составить программу для...

Программирование вероятности! - C++
Привет! Помогите решить проблему: Пусть есть наборы: категория-мат.ожидание(не вероятность). Например: ручка - (0,18) карандаш...

Теория вероятности. - C++
Начал изучать предмет который упомянут в теме. И на данную дисциплину не нашел задач, чтобы запрограммировать на плюсах. Если кто знает...

Теория вероятности - C++
Для участия в судебном процессе из 20 потенциальных кандидатов, среди которых 8 женщин и 12 мужчин, выбирают 6 присяжных заседателей. После...

теория вероятности на эвм - C++
задание: три орудия производят стрельбу по трем целям. каждое орудие выбирает себе цель случайно,независимо от других.цель одним орудием...

Тема матрица вероятности - C++
Помогите создать 1620 на 6 матрицу, из числового интервала Просьба выложить портянку вариант такой матрицы. Сам не владею навыками...

Задача с нахождением вероятности - C++
Завод изготовляет изделия, каждое из кот. с вероятностью P имеет дефект. В цехе имеются три контролёра: изделие осматривается только одним...

Работа с массивом, теория вероятности - C++
Здравствуйте. Задали задачку: Есть генератор случайных чисел, каждые 15 секунд в конец массива поступает число. В массиве уже...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
snw
10 / 10 / 0
Регистрация: 11.10.2012
Сообщений: 93
14.10.2012, 13:55     Вычисление вероятности затопления авианосца #2
Каков текст ошибки? Ведь телепаты в отпуске
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
14.10.2012, 13:58     Вычисление вероятности затопления авианосца #3
Как по-вашему пользователь сможет сделать повторный ввод в случае ошибки, если у вас там exit прописан.
и бросьте использовать конструкцию условие?действие1:действие2, если эти действия не тривиальны

да и не скомпилится то, что написано сейчас
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 656
14.10.2012, 14:00  [ТС]     Вычисление вероятности затопления авианосца #4
Все нашел ошибку, вот правильная программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cmath>
#include <iostream>
using namespace std;
int main()
{
 setlocale( LC_ALL,"Russian" );
    double p,p1,P,q;
    int n;
    cout << "p = "; cin >> p;
    (p < 0 || p > 1)  ?  (cout<<"Неверное значение!"<< endl, exit(0)) : cout << "p1 = "; // Проверка корректности значения p
    cin >> p1;
    (p1 < 0 || p1 > 1)  ?  (cout << "Неверное значение!"<< endl, exit(0))  :  cout << "n = "; // Проверка корректности значения p1
    cin >> n;
    q = (1 - p) * (1 - p1);
    P = p * (1 - p1) * (1 - pow(q,n))/(1 - q);
    cout << "P = " << P << endl;
    system("pause");
    return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
14.10.2012, 14:58     Вычисление вероятности затопления авианосца #5
Цитата Сообщение от isaak Посмотреть сообщение
Подскажите пожалуйста как исправить ошибку?
Цитата Сообщение от isaak Посмотреть сообщение
(0 < p || p > 1)
надо (p < 0 || p > 1) своим неверным условием ты по сути задавал весь числовой ряд как неверное значение
Цитата Сообщение от isaak Посмотреть сообщение
(0 < p1 || p1 > 1)
- тоже самое надо (p1 < 0 ||
Формулу не проверял, полагаю что в ней косяков нет ввиду простоты
Yandex
Объявления
14.10.2012, 14:58     Вычисление вероятности затопления авианосца
Ответ Создать тему
Опции темы

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