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

Ma puteti ajuta , va rog, in rezolvarea acestei prbleme de informatica ? (in C++)
#3804 RazaCercInscris
Cerința
Se dau lungimile laturilor unui triunghi. Aflați raza cercului înscris triunghiului. Date de intrare
Programul citește de la tastatură numerele a, b, c, reprezentand lungimile laturilor triunghiului. Date de ieșire
Programul va afișa pe ecran numărul r, reprezentând lungimea razei cercului înscris cu 2 zecimale exacte, daca triunghiul este valid, altfel se va afisa mesajul Imposibil. Restricții și precizări
1 ≤ a, b, c ≤ 1000
Exemplul 1:
Intrare

3 4 5
Ieșire

1. 00
Exemplul 2:
Intrare

4 5 10
Ieșire

Imposibil.

Răspunsuri la întrebare

Răspuns de lauraandreea2219
2

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

  double a, b, c, r, p;

  cin >> a >> b >> c;

  if ((a + b >= c) && (a + c >= b) && (b + c >= a))

  {

      p= (a+b+c)/2;

      r = (sqrt(p * ((p - a) * (p - b) * (p - c)))) / p * 100;

      if (int(r) % 10 == 0)

      {

          if (int(r) / 10 % 10 == 0)

              cout << int(r) / 100 << ".00";

          else

              cout << int(r) / 100 << '.' << int(r) / 10 % 10 << 0;

      }

      else

          cout << int(r) / 100 << '.' << int(r) / 10 % 10 << int(r) % 10;

  }

  else

      cout << "Imposibil";

  return 0;

}

  • a = BC, b = AC, c = AB
  • p = (AB+BC+AC)/2
  • sqrt(p*(p-a)*(p-b)*(p-c)) ⇒ Formula lui Heron  \sqrt{p(p-a)(p-b)(p-c)}
  • r = a*b*c / (4*sqrt(p*(p-a)*(p-b)*(p-c)) r= \frac{a*b*c}{4\sqrt{p(p-a)(p-b)(p-c)} }
  • sqrt ⇒ "√"

Alte întrebări interesante