👤

Ma puteti ajuta , va rog, in rezolvarea acestei prbleme de informatica ? (in C++)

PbInfo #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ăspuns :

#include<bits/stdc++.h>

using namespace std;

double a, b, c, r, s, p;

/* a, b, c - laturile

r - raza cercului inscris

s - suprafata (aria)

p - semiperimetrul

*/

int main ()

{

   cin>>a>>b>>c;

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

       {

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

           s=sqrt(p*(p-a)*(p-b)*(p-c));

           r=s/p;

           cout<<"r="<<fixed<<setprecision(2)<<r;

       }

   else

       cout<<"Imposibil";

   return 0;

}