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

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

Восстановить пароль Регистрация
 
Andrew2012
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 3
06.01.2012, 00:08     генератор rand #1
Добрый вечер! Возникла проблема с генератором 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2012, 00:08     генератор rand
Посмотрите здесь:

rand C++
C++ rand от 1 до 16
rand()%(-20)%(20); C++
rand C++
rand() C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.01.2012, 01:03     генератор rand #2
круто, и задача есть и программа ее решения. Молодец!
greeezz
06.01.2012, 01:12
  #3

Не по теме:

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

NoMasters
06.01.2012, 01:18
  #4

Не по теме:

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

alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.01.2012, 01:26     генератор rand #5
Andrew2012, думаешь кто-то будет компилировать твой код, читать условие и выяснять в чем трабл? поясни по-русски что не так.
AlexeyDevil
 Аватар для AlexeyDevil
21 / 21 / 2
Регистрация: 06.11.2010
Сообщений: 57
06.01.2012, 01:54     генератор rand #6
Если используешь стандартный рандом, то для начала еще нужно #include <time.h>, затем в main написать srand(time(NULL)); , а уже потом работать с rand().
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
06.01.2012, 01:58     генератор rand #7
Может быть, его устраивают одинаковые значения. Хотя бы отладки ради.
AlexeyDevil
 Аватар для AlexeyDevil
21 / 21 / 2
Регистрация: 06.11.2010
Сообщений: 57
06.01.2012, 02:04     генератор rand #8
В чем же проблема? Пуская вводит руками)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2012, 11:18     генератор rand
Еще ссылки по теме:

Rand() C++
Генератор случайных чисел (без rand) C++
C++ С помощью rand() сделать генератор дробных чисел

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

Или воспользуйтесь поиском по форуму:
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
06.01.2012, 11:18     генератор rand #9
Цитата Сообщение от Andrew2012 Посмотреть сообщение
if (kolvopopad=2)
Это типа:
C++
1
2
kolvopopad = 2;
if (kolvopopad)
Цитата Сообщение от Andrew2012 Посмотреть сообщение
if (rest2<0,6)
C++
1
2
rest2 < 0;
if (6)
Всё верно?
Yandex
Объявления
06.01.2012, 11:18     генератор rand
Ответ Создать тему
Опции темы

Текущее время: 13:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru