C++ verifica daca 3 numere a,b,c pot fi laturile unui triunghi
Răspunsuri la întrebare
Solutie:
(Deja am raspuns anterior la o intrebare asemanatoare despre aflarea tipului unui triunghi, deci o voi reposta aceasta aici)
Poti omita partea unde spune tipul triunghiului si aflarea daca poate sa se formeze un unghi din lungimile laturilor, deoarece nu este necesara conform conditiei specificate.
#include <iostream>
#include <math.h>
std::string tipul(int a, int b, int c) {
// Aflarea tipului triunghiului prin proprietatile fiecarui triunghi
int aa = pow(a, 2), bb = pow(b, 2), cc = pow(c, 2);
if (a == b && a == c) {
return "Echilateral";
}
else if (a == b || b == c) {
return "Isoscel";
}
else if (cc == aa + bb || aa == bb + cc || bb == aa + cc) {
return "Dreptunghic";
}
return "Oarecare";
}
int main() {
// Citirea numerelor
int nr1, nr2, nr3;
std::cin >> nr1;std::cin >> nr2;std::cin >> nr3;
// Aflarea posibilitatii daca numerele pot fi unghiurile unui triunghi (a + b + c = 180)
if (nr1 + nr2 + nr3 == 180) {
std::cout << "Numerele pot fi unghiurile unui triunghi.\n";
}
// Lungimile laturilor unui triunghi nu pot fi negative
if (nr1 > 0 && nr2 > 0 && nr3 > 0) {
std::cout << "Tipul triunghiului este: " << tipul(nr1, nr2, nr3) << std::endl;
}
else {
std::cout << "Numerele nu pot forma un triunghi.\n";
}
return 1;
}