Ответ: полупериметр неправильно считаешь

Ответ: Добрый день! К сожалению я не работаю с C++, но если это поможет, то вот эта задача в PascalVAR a,b,c,d:REAL;PROCEDURE Print_S(x,y,z:REAL); VAR  p,S:REAL; begin  If ((x+y)>z) and ((x+z)>y) and ((y+z)>x) then  begin    p:=x+y+z;S:=SQRT(p*(p-x)*(p-y)*(p-z));WriteLn(‘S= ‘,S);end elseWriteln(‘Треугольник не существует!’);end;BEGIN Write(‘a= ‘);ReadLn(a); Write(‘b= ‘); ReadLn(b); Write(‘c= ‘); ReadLn(c); Write(‘d= ‘); ReadLn(d); WriteLn; WriteLn(‘Стороны ‘,a,’; ‘,b,’; ‘,c); Print_S(a,b,c); WriteLn; WriteLn(‘Стороны ‘,a,’; ‘,b,’; ‘,d); Print_S(a,b,d); WriteLn; WriteLn(‘Стороны ‘,a,’; ‘,c,’; ‘,d); Print_S(a,c,d); WriteLn; WriteLn(‘Стороны ‘,b,’; ‘,c,’; ‘,d); Print_S(b,c,d);END.

Ответ: #include <iostream>using namespace std;void TriangleArea(double a, double b, double c){  double p = (a + b + c) / 2;  double ss = p * (p — a) * (p — b) * (p — c);  // Using Heron’s formula   if (ss > 0)    cout << «Area of triangle = » << sqrt(ss);  else    cout << «The three sides will not form a triangle.»;}void main(){  double a, b, c, d;  cout << «a = «;   cin >> a;  cout << «b = «;  cin >> b;  cout << «c = «;  cin >> c;  cout << «d = «;  cin >> d;  cout << «Three side lengths to a triangle (a, b, c):»;  TriangleArea(a, b, c);  cout << «Three side lengths to a triangle (a, b, d):»;   TriangleArea(a, b, d);  cout << «Three side lengths to a triangle (b, c, d):»;  TriangleArea(b, c, d);  cout << «Three side lengths to a triangle (a, c, d):»;  TriangleArea(a, c, d);  cout << «»;}