Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Z_S
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 24
#1

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

15.12.2011, 20:10. Просмотров 846. Ответов 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
Ответы с готовыми решениями:

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

метод Монте-Карло
всем привет, у меня вопрос по методу Монте - Карло, у меня есть код, #include...

Метод монте Карло
Здравствуйте! Посмотрите, пожалуйста, почему программа неправильно считает...

Метод Монте-Карло
как мне перевести этот код на с++..... помогите пожалуста(( program...

Метод Монте-Карло
С помощью метода Монте-Карло найдите оценку объема шара, центр которой...

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

метод Монте-Карло
Трехмерное тело образовано объединением нескольких сфер произвольного размера и...

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

вроде метод монте карло
распишите пожалуйста что делает это программа?? int i,a,b,n,k,c,d,e,f; double...


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

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

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