C/C++

Решить задачу по с++

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
return value;
}
int main() {
auto a = real("a: ");
auto b = real("b: ");
auto c = real("c: ");
auto per = a + b + c;
auto max = (a > b) ? (a > c) ? a : c : (b > c) ? b : c;
if (max < per - max) {
auto min = (a < b) ? (a < c) ? a : c : (b < c) ? b : c;
auto mid = per - max - min;
if (max * max > min * min + mid * mid) {
cout << "Sides of a triangle: " << max << ' ' << mid << ' ' << min << '\n';
auto p = per / 2;
auto area = sqrt(p * (p - a) * (p - b) * (p - c));
cout << "Area of a triangle: " << fixed << setprecision(15) << area << '\n';
} else {
puts("The condition is not met!");
}
} else {
puts("The triangle doesn't exist!");
}
system("pause > nul");
}
Владислав Парушкин
Владислав Парушкин
86 623
Лучший ответ
А в чём сложность? Сортируешь в порядке по убыванию, и если a² > b² + c² - то треугольник тупоугольный. В таком случае выводишь и вычисляешь площадь по формуле Герона.
Ухтыж, извини что засоряю ответы на вопрос но это жесть