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

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

Войти
Регистрация
Восстановить пароль
 
Z_S
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 24
#1

Метод Монте-Карло - C++

15.12.2011, 20:10. Просмотров 782. Ответов 0
Метки нет (Все метки)

Подскажите правильно ли реализована программа на С++ Builder?

N стрелков стреляют поочередно по одной мишени. Стрельба ведется до первого попадания. Вероятность попасть в мишень для каждого стрелка равна рi (i=1, 2, ... , N). Выигравшим считается тот стрелок, который первым попадет в мишень. У каждого стрелка в запасе имеется n патронов. Определить вероятность того, что выиграет i-й стрелок.

void main()
{
setlocale(LC_ALL,"Rus");
int isp = 10000;
cout<<"Введите количество стрелков: ";
int N;
cin>>N;
system("cls");
cout<<"Введите количество патронов: ";
int n;
cin>>n;
system("cls");
double* p=new double;
for (int i=0; i<N; i++)
{
cout<<"Введите вероятность попадания "<<i+1<<" стрелка: ";
cin>>p[i];
system("cls");
}
bool* t=new bool;
int* ost=new int;
for (int i=0; i<N; i++)
ost[i]=0;
float m1=0;
float m2=0;
for(int o=0;o<isp;o++)
{
for(int i=0;i<N;i++)
for(int j=0;j<k

{ int r=rand()%100;
if (r<p[i]*100)
{
t[i]=true;
ost[i]=n-j-1;
j=4;
}
j++;
}
int sch=0;
for(int i=0;i<N;i++)
{
if (t[i]==true && ost[i]>0)
sch++;
}
if (sch==n)
m1++;
if (sch==n-1)
m2++;
}
cout<<"Вероятность попадания всех "<<n<<" стрелков с неизрасходованным 1 патроном = "<<(m1/(isp*1.0))*100<<"%"<<endl;
cout<<"Вероятность что попадут "<<n-1<<" стрелка = "<<(m2/(isp*1.0))*100<<"%"<<endl;
system("PAUSE");
}

Это задание не знаю как реализовать. Подскажите, пожалуйста.
По некоторому объекту ведется стрельба n независимыми выстрелами. Объект состоит из k частей (элементов). Вероятность попадания в i-ый элемент равна p i-ое ( i=1,2,...k)/ Найти вероятность Р того, что в результате стрельбы будет m0(нулевое) промахов, m1 (первое) попаданий в 1 элемент и т.д., вообще m i-ое попаданий в i-ый элемент. ( i=1,2,...k), Сумма элементов m i-ое от i=0 до k равна n.
for (int i=0;i<m;i++)
for (int j=0;i<n;j++)
r1=random(100)/100 // это будет вероятность попадания. НО функция должна быть написана ВРУЧНУЮ. Random у меня здесь как пример.
if r1<p[i] then
a[i]=a[i]+1; // a-это массив, где хранится количество выстрелов в каждый элемент.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2011, 20:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод Монте-Карло (C++):

Метод Монте-Карло - C++
Помогите написать программу для вычисления определенного интеграла методом Монте-Карло.

метод Монте-Карло - C++
всем привет, у меня вопрос по методу Монте - Карло, у меня есть код, #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;time.h&gt; ...

Метод Монте-Карло - C++
Помогите написать программу на С++. Из множества 1, 2, ..., n, случайным образом извлекается с возвращением по одному числу S раз. Пусть...

Метод Монте-Карло - C++
как мне перевести этот код на с++..... помогите пожалуста(( program MonteKarlo; uses crt; Label l1,l2; var ...

метод Монте-Карло - C++
Трехмерное тело образовано объединением нескольких сфер произвольного размера и взаимного расположения. Найти объем этого тела, используя...

Метод монте Карло - C++
Здравствуйте! Посмотрите, пожалуйста, почему программа неправильно считает определенный интеграл методом Монте Карло. Считаю интеграл от -3...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2011, 20:10
Привет! Вот еще темы с ответами:

вроде метод монте карло - C++
распишите пожалуйста что делает это программа?? int i,a,b,n,k,c,d,e,f; double s1,s,x,y,z; int _tmain(int argc, _TCHAR* argv) { ...

Метод Монте Карло (неправильные значения) - C++
Пишу программу для подсчета определенного интеграла 3мя способами: прямоугольников, трапеций и Монте Карло. Первые 2 реализованы правильно,...

Метод Монте-Карло. Объем сферы - C++
Задан радиус сферы и количество итераций. Найти объём сферы методом Монте-Карло и определить точность

Метод Монте-Карло в вычислении площади многоугольника - C++
Ребята, добрый день!! Мне нужно набросать программу для вычисления площади выпухлого n-угольника с использованием ООП и STL; Помогите...


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

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

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