Мой код, чтобы узнать, находится ли треугольник под прямым углом и отображать «правый», если нет, тогда «неправильно», но он работает только в одном формате (меньшие стороны -> гипотенуза, т.е. ввод 6 8 10 дает " право», которое является истинным, но Inputing 8 6 10 или 10 6 8 появляется ошибка, любое другое расположение 3 значений дают ошибку, хотя я установил мой, если заявления на работу в любом порядке.Ошибка теоремы Пифагора в C++
#include <iostream>
using namespace std;
int main()
{
int a, b, c, hypotenuse;
while(cin >> a >> b >> c)
{
if(a > b && a > c)
{
hypotenuse = a;
if(b * b + c * c == hypotenuse)
cout << "right" << endl;
else
cout << "wrong" << endl;
}
else if(b > a && b > c)
{
hypotenuse = b;
hypotenuse *= hypotenuse;
if(a * a + c * c == hypotenuse)
cout << "right" << endl;
else
cout << "wrong" << endl;
}
else
hypotenuse = c;
hypotenuse *= hypotenuse;
if(a * a + b * b == hypotenuse)
cout << "right" << endl;
else
cout << "wrong" << endl;
}
return 0;
}
Пожалуйста, укажите четкий вопрос. – Martin
Отформатирован код, поэтому вы можете прочитать его в первый раз. Возможно, вы заметите отсутствие '{}' блока после 'else' или что вы не квадрат' hypotenuse' в случае, если это 'a'. – LogicStuff
И вдруг кто-то видит недостающие фигурные скобки вокруг последнего блока: – BitTickler