Informatică, întrebare adresată de mbcni1995, 8 ani în urmă

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ăspunsuri la întrebare

Răspuns de Paddon
8

# 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;

}

Alte întrebări interesante