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

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

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

генератор rand - C++

06.01.2012, 00:08. Просмотров 846. Ответов 8
Метки нет (Все метки)

Добрый вечер! Возникла проблема с генератором rand. Нужно немного подредактировать код

Условие задачи
По самолёту проводится 3 отдельных выстрела, вероятность попадания каждого раза равно 0,3. Для выхода из строя достаточно 3 попаданий. При одном попадании самолёт выходит из строя с вероятностью 0,2; при двух (выстрелах) попаданиях 0,6. Найти вероятность того, что самолёт будет выведен из строя при 3 выстрелах.

Код на Visual C++

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
29
30
31
32
33
34
35
36
37
38
39
#include <stdlib.h>
#include <math.h>
#include <iostream.h>
int main(int argc, char* argv[])
{
 int n,i;
 double rest1,rest2,rest3,kolvopopad,sbili,sbilis,sbiliss;
 cout<<"Введите кол-во попаданий n=";
 cin>>n;
 for (i=1;i<=kolvopopad;i++)
  {
    rand1                                     //нужно задать генератор rand1
    rest1=double((rand1%100)/100);
    rest2=double((rand1%100)/100);
    rest3=double((rand1%100)/100);
 
    kolvopopad=0;
     if(rest1<0.3)
      else kolvopopad=kolvopopad+1;
     
     if (rest2<0.3)
      else kolvopopad=kolvopopad+1;
 
     if (rest3<0.3)
      else kolvopopad=kolvopopad+1;
 
     if (kolvopopad=3)
     sbili=sbili+1;
     if (kolvopopad=2) 
      if (rest2<0,6)
          sbilis=sbili+1;
     if (kolvopopad=1) 
      if (rest2<0,2)
          sbiliss=sbili+1;
  }
 
count<<"Вероятность что самалёт выведен из строя при n выстрелах =";
cin>>sbili;
}
Решение:
Вероятность одного попадания: (0.3*0.7*0.7+0.7*0.3*0.7+0.7*0.7*0. 3)*0.2=0.0882
Вероятность двух попаданий: (0.3*0.3*0.7+0.7*0.3*0.3+0.3*0.7*0. 3)*0.6=0.1134
Вероятность трёх попаданий:
0.3*0.3*0.3=0.27
Вероятность трёх промахов:
0.7*0.7*0.7=0.343
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2012, 00:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос генератор rand (C++):

Генератор случайных чисел (без rand) - C++
Помогите пожалуйста , нужен Генератор случайных чисел без использования rand() на с++. Спасибо

С помощью rand() сделать генератор дробных чисел - C++
srand(time(NULL)); rand()%1000; этот генератор генерирует целые числа, как сделать что-бы он генерировал нецелые числа до 3-х знаков...

rand - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; // гениратор случайных чисел using namespace std; ...

rand - C++
всем привет) что означает вот это строка double value = (rand()%1000)/100.0 - 5.0; и чем она отличается от этой double value =...

Rand() - C++
metka: r1=rand()%2; r2=rand()%2; if(r1==a &amp;&amp; r2==b)goto metka; else arr=='O'; Собсно-это кусок кода...

rand от 1 до 16 - C++
Вопрос в том как в функции rand() на c++ задать диапазон чисел от 1 до 16

8
alkagolik
Заблокирован
06.01.2012, 01:03 #2
круто, и задача есть и программа ее решения. Молодец!
0
greeezz
06.01.2012, 01:12
  #3

Не по теме:

Цитата Сообщение от Andrew2012 Посмотреть сообщение
По самолёту проводится 3 отдельных выстрела ...,
вы не с Алькаиды ?

2
NoMasters
06.01.2012, 01:18
  #4

Не по теме:

А разве алькаида стреляет по самолётам?
ЗЫ А вот у нас ракетчиков "верояность выхода из строя самолета при попадании" близка к единице...

0
alkagolik
Заблокирован
06.01.2012, 01:26 #5
Andrew2012, думаешь кто-то будет компилировать твой код, читать условие и выяснять в чем трабл? поясни по-русски что не так.
0
AlexeyDevil
21 / 21 / 2
Регистрация: 06.11.2010
Сообщений: 57
06.01.2012, 01:54 #6
Если используешь стандартный рандом, то для начала еще нужно #include <time.h>, затем в main написать srand(time(NULL)); , а уже потом работать с rand().
0
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
06.01.2012, 01:58 #7
Может быть, его устраивают одинаковые значения. Хотя бы отладки ради.
0
AlexeyDevil
21 / 21 / 2
Регистрация: 06.11.2010
Сообщений: 57
06.01.2012, 02:04 #8
В чем же проблема? Пуская вводит руками)
0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,200
Завершенные тесты: 1
06.01.2012, 11:18 #9
Цитата Сообщение от Andrew2012 Посмотреть сообщение
if (kolvopopad=2)
Это типа:
C++
1
2
kolvopopad = 2;
if (kolvopopad)
Цитата Сообщение от Andrew2012 Посмотреть сообщение
if (rest2<0,6)
C++
1
2
rest2 < 0;
if (6)
Всё верно?
0
06.01.2012, 11:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2012, 11:18
Привет! Вот еще темы с ответами:

rand() - C++
начал учить си++, наткнулся на такую штуку... Накидал простую программку (консольную) и увидел что датчик случ. чисел выдает нифига...

rand - C++
srand(time(NULL)); int s = rand()%1000 +1; генерирует бред вроде 3,4,7,10,14,19,21,26,29... как сделать чтобы значения были...

rand()%(-20)%(20); - C++
Нужно сорт случ числа от -20 до 20 Делаю так rand()%(-20)%(20); получаю числа от 0 до 20, а мне нужно от -20 ;

rand() - C++
Как записать чтобы rand() возвращало true и false. Или подскажите другой способ. Мне нужно заполнить 3-х мерный массив.


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

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

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