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

Программа при делении выдает целое значение а не дробное - C++

Восстановить пароль Регистрация
 
Padshij_Angel
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 16
23.05.2013, 16:51     Программа при делении выдает целое значение а не дробное #1
Задание:
Прибор состоит из трех узлов. При включении прибора с вероятностью P1 появляется неисправность в первом узле, с вероятностью P2 во втором узле, с вероятностью P3 в третьем узле. Каждый из 3 узлов безусловно необходим для работы прибора. Для того чтобы узел отказал необходимо что бы в нем было две неисправности. Найти вероятность того, что прибор благополучно выдержит n испытаний.

Вот мой код программы:
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
#include<iostream>
#include<cstdlib>
#include <ctime>
using namespace std;
void main()
{
setlocale(LC_ALL,"Rus");
int n,m1=0,m2=0,m3=0,m;
double p1,p2,p3,r1,r2,r3,p;
cout<<"Введите колличество включений, n=";
cin>>n;
p1=0.57576;//я не стала их по несколько раз вводить пусть будут такие
p2=0.186429;
p3=0.83647;
m=0;
srand(time(NULL));
for(int i=0; i<n; i++)
{
r1=(double)rand()/RAND_MAX; //получаем рандомное значение от 0 до 1
if(r1<p1)//сравниваем рандомное значение и заданное, если рандомное больше м1 присваеваем м1=1
m1=1;
r2=(double)rand()/RAND_MAX;
if(r2<p2)
m2=1;
r3=(double)rand()/RAND_MAX;
if(r3<p3)
m3=1;
if((m1==1 && m2==1)||(m2==1 && m3==1)||(m1==1 && m3==1))//сравниваем попарно работу 1-го,2-го и 3-го узлов, если два из них равны 1, то увеличиваем счетчик
m = m++;
}
(double)p = m/n;
cout<<"Вероятность = "<<p<<endl;
system ("pause");
}
Подскажите как сделать что бы программа выводила дробное значение а не целое?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2013, 16:51     Программа при делении выдает целое значение а не дробное
Посмотрите здесь:

Почему при выводе имею целое число, а не дробное C++
C++ программа выдает ошибку при компиляции
написать программу в Dev-C++ для поиска трехзначных чисел, которые при делении на 47 дают в остатке 43, а при делении на 43 дают в остатке 47 C++
C++ Все элементы, которые при целочисленном делении на N дают ненулевое значение, увеличить на M
Прямоугольные матрицы (элементы, которые при целочисленном делении на N дают ненулевое значение, увеличить на M) C++
C++ Как разделить переменую типа double на целое и дробное число ?
C++ Найти все пятизначные числа, которые при делении на A дают в остатке B, а при делении на C дают в остатке D
Проверить, целое число или дробное C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1787
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
23.05.2013, 17:01     Программа при делении выдает целое значение а не дробное #2
p = (double)m/n;

Добавлено через 52 секунды
У Вас же не возникало этого вопроса, когда писали
Цитата Сообщение от Padshij_Angel Посмотреть сообщение
з3=(double)rand()/RAND_MAX;
Padshij_Angel
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 16
24.05.2013, 15:38  [ТС]     Программа при делении выдает целое значение а не дробное #3
Спасибо, что-то я действительно не подумала)
Yandex
Объявления
24.05.2013, 15:38     Программа при делении выдает целое значение а не дробное
Ответ Создать тему
Опции темы

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