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
Intrare
3 4 5
Ieșire
1.00
Salut, solutia mea obtine doar 60 de puncte si nu inteleg de ce.
#include
using namespace std;
double a,b,c,s,p;
int main()
{ cin>>a>>b>>c;
if(!(a+b>=c and a+c>=b and c+b>=a)){cout<<"Imposibil"; return 0;}
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<
}
Relver:
cout<
Răspunsuri la întrebare
Răspuns de
3
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float a, b, c, r;
cin >> a >> b >> c;
if (a + b >= c && a + c >= b && b + c >= a) {
r = (sqrt(((a + b + c) / 2) * (((a + b + c) / 2) - a) * (((a + b + c) / 2) - b) * (((a + b + c) / 2) - c)) / ((a + b + c) / 2)) * 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;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
9 ani în urmă
Limba română,
9 ani în urmă