👤

Scrie un program care, citind trei numere reale, verifica daca acestea pot reprezenta laturile unui triunghi. Daca raspunsul este afirmativ, atunci programul afiseaza ce fel de triunghi formeaza : ascutitunghic, dreptunghic sau obtuzunghic.

Răspuns :

# include<iostream>

using namespace std;

int main()

{

   float a, b, c;

   cin >> a >> b >> c;

   if(! ( a > 0 && b > 0 && c > 0 && a + b > c && a + c > b && b + c > a) )

       cout << "Nu formeaza triunghi.";

   else

   {

       float cos_a, cos_b, cos_c;

       cos_a= (b * b + c * c - a * a) / (2 * b * c);

       cos_b= (a * a + c * c - b * b) / (2 * a * c);

       cos_c= (a * a + b * b - c * c) / (2 * a * b);

       if(cos_a == 0 || cos_b == 0 || cos_c == 0) cout << "Triunghi dreptunghic.";

       else if(cos_a < 0 || cos_b < 0 || cos_c < 0) cout << "Triunghi obtuzunghic.";

       else if(cos_a > 0 && cos_b > 0 && cos_c > 0) cout << "Triunghi ascutitunghic.";

   }

   return 0;

}