Другие языки программирования и технологии
Задача на про треугольник на С++.
Добрый вечер! Помогите разобраться с программированием! Буду очень признателен! Сделать надо на С++. Ввести положительные числа 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;
}
#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;
}
Валерий Слепцов
Спасибо огромное Вам! Выручили!
Треугольник существует если сумма 2 сторон больше 3тей
Если квадрат большей стороны больше, чем сумма квадратов двух остальных сторон, то треугольник тупоугольный. И наоборот: если квадрат большей стороны меньше суммы квадратов двух других сторон, то треугольник остроугольный.
Если квадрат большей стороны больше, чем сумма квадратов двух остальных сторон, то треугольник тупоугольный. И наоборот: если квадрат большей стороны меньше суммы квадратов двух других сторон, то треугольник остроугольный.
Похожие вопросы
- напишите код на qbasic Код к задаче: «Определить вид треугольника по трем его сторонам - QBasic»
- Помогите с программированием на Си. Задача про треугольники
- Треугольник задан длинами своих сторон. Найти длины всех высот треугольника. Решите задачу, пройдя все этапы на ЭВМ в с++
- Как определить точку внутри треугольника? Turbo Delphi
- Треугольники, круги, точки и линии
- не очень сложная прога на c++ не робит: Написать функцию, сравнивающую площадь двух треугольников, по координатам их вер
- помогите решить задачу!...Даны целые числа a, b, c, являющиеся сторонами некоторого треугольника.Проверить истинность вы
- dev c++. помогите плз сделать задачу найти наибольшую высоту треугольника из сторонами a,b,c
- Нужно создать класс треугольник. Задание небольшое. Очень прошу помочь, кому не сложно
- Оператор FOR Напечатать «*» треугольники.