#include
#include
using namespace std;
int main()
{
float B,b,l,d,h,x,y;
cin>>B>>b>>l;
x=(B-b)/2;
h=sqrt(l*l+x*x);
y=b+x;
d=sqrt(h*h+y*y);
cout<
return 0;
}
Cerința
Cunoscând laturile unui trapez isoscel, să se calculeze lungimea diagonalei.
Date de intrare
Programul citește de la tastatură numerele reale B, b și l, separate prin spații, reprezentând baza mare, baza mică și lungimea laturilor oblice.
Date de ieșire
Programul va afișa pe ecran numărul d, reprezentând diagonala trapezului.
Restricții și precizări
0 < B, b, l, d < 1000
rezultatul va fi punctat dacă diferența dintre cel afișat de program și cel corect este mai mică decât 0.01.
Exemplu
Intrare
6 2 5
Ieșire
6.08276
Explicație
Valoarea bazei mari este 6, baza mică este 2, laturile oblice au valoarea 5. Diagonala trapezului este 6.08276
Unde am gresit? Mie imi da 6.7082 :/
Răspunsuri la întrebare
Răspuns de
19
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float B, b, l, c, h, d, f;
cin>>B>>b>>l;
c=(B-b)/2;
h=sqrt((l*l)-(c*c));
f=b+c;
d=sqrt(h*h+f*f);
cout<<d;
return 0;
}
#include <cmath>
using namespace std;
int main()
{
float B, b, l, c, h, d, f;
cin>>B>>b>>l;
c=(B-b)/2;
h=sqrt((l*l)-(c*c));
f=b+c;
d=sqrt(h*h+f*f);
cout<<d;
return 0;
}
Anaru:
Multumesc!
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă