👤

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;

}