Проверьте, не является ли TriangleExists: каждый раз, когда каждая его сторона меньше суммы двух других.Если оператор с тремя условиями (triangleExists)
Я пробовал много вариантов:
float a=3, b=15, c=7; //its still taking 'y'
bool triangleExists(float a, float b, float c)
{
if ((a < (b + c)) || (b < (a + b)) || (c < (a + b)))
{
std::cout << "y" << std::endl;
return true;
}else
std::cout << "n" << std::endl;;
return false;
}
Опции я попытался (они также пытались с & & знаков):
if ((a < (b + c)) || (b < (a + b)) || (c < (a + b)))
if (a < (b + c) || b < (a + b) || c < (a + b))
if ((a < (b + c))==true || (b < (a + b))==true || (c < (a + b))==true)
if (a < b + c || b < a + b || (c < a + b)
Я, вероятно, отсутствует что-то простое. Буду рад, если вы сможете помочь.
В чем вопрос и проблема? Кроме того, предоставьте [MVCE] (http://stackoverflow.com/help/mcve). – tambre
* ", когда каждая 1 его сторона меньше суммы двух других" *: вы должны использовать оператор '&&' (логический AND), а не '||' (логический ИЛИ). – lfurini