• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

не могу понять в чем проблема

  • Автор темы smthelse
  • Дата начала
S

smthelse

помогите пожалуйста,не могу понять в чем проблема

"Составить программу, которая вычисляет площадь треугольника, если человек задал длины трех сторон A,B,C. При вычислении использовать формулу Герона: S=sqrt(P(P-A)(P-B)(P-C))
, где Р — полупериметр. Перед вычислением площади про-верить, существует ли треугольник с заданными сторонами"


C++:
//---------------------------------------------------------------------------
#include <math.h>
#include <stdio.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{ int a=12,b=7,c=8,p,s;
if ((a>=(b+c))|(b>=(a+c))|(c>=(a+B)));
else ("Impossible triagle");
p=(a+b+c)/2;
s=(sqrt(p*(p-a)*(p-B)*(p-c)));

return 0;
}
//---------------------------------------------------------------------------
 
V

Vadik(R)

Видимо в том, что переменные p и s целого типа.
Ну и в том, что ещё результат на экран выводить надо B)
C++:
#include <cmath>
#include <iostream>

using namespace std;

int main()
{
long double a = 12.0, b = 7.0, c = 8.0, p, s;
if ((a < b + c) && (b < a + c) && (c < a + b))
{
p = (a + b + c) / 2;
s = pow(p * (p - a) * (p - b) * (p - c), 0.5);
cout.setf(ios::fixed);
cout.precision(6);
cout << "S = " << s << endl;
}
else
cout << "Impossible triangle" << endl;
return 0;
}
Вроде так, не проверял ;)
 
S

smthelse

Vadik®, спасибо за помощь,только неправильно считает,и мне непонятны функции "cout.setf(ios::fixed);cout.precision(6)" ,т.к я только начинаю изучать язык С++,учусь на программиста
 
V

Vadik(R)

cout.setf(ios::fixed);cout.precision(6)
Эти фунции ставят фиксированный формат вывода дробных чисел, и, соответственно, точность шесть знаков после запятой.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!