Другие языки программирования и технологии

Задача на про треугольник на С++.

Добрый вечер! Помогите разобраться с программированием! Буду очень признателен! Сделать надо на С++. Ввести положительные числа x, y, z. Определить существует ли треугольник с длинами сторон x, y, z и выдать об этом сообщение. Если треугольник существует, то выяснить, являются ли все его углы острыми.
#include <iostream>
#include <string>
using namespace std;
bool exist(double a, double b, double c);
wstring triangle(double a, double b, double c);
int main() {
wcout.imbue(locale(".866"));
while (true) {
wcout << L"Введите a, b, c: ";
double a, b, c;
cin >> a >> b >> c;
if (exist(a, b, c)) wcout << L"Треугольник " << triangle(a, b, c) << L'.';
else wcout << L"Треугольник не существует! ";
wcout << endl;
}
}
wstring triangle(double a, double b, double c) {
double sm = a + b + c;
double mx = (a > b) ? (a > c) ? a : c : (b > c) ? b : c;
double mn = (a < b) ? (a < c) ? a : c : (b < c) ? b : c;
double md = sm - mx - mn;
double x = mx * mx;
double y = mn * mn + md * md;
wstring result;
if (x > y) result = L"тупоугольный";
else if (x < y) result = L"остроугольный";
else result = L"прямоугольный";
return result;
}
bool exist(double a, double b, double c) {
double mx = (a > b) ? (a > c) ? a : c : (b > c) ? b : c;
return mx < a + b + c - mx;
}
DE
Dastan Elubai
62 985
Лучший ответ
Валерий Слепцов Спасибо огромное Вам! Выручили!
Треугольник существует если сумма 2 сторон больше 3тей
Если квадрат большей стороны больше, чем сумма квадратов двух остальных сторон, то треугольник тупоугольный. И наоборот: если квадрат большей стороны меньше суммы квадратов двух других сторон, то треугольник остроугольный.

Похожие вопросы