B=2*x+b ⇒ x=(B-b)/2
l²=x²+h²
(b+x)²+h²=d² dar b+x=B-x ⇒ (b+x)²=(B-x)²
Relatia devine
(B-x)²+h²=d²
B²-2*B*x+x²+h²=d² si cum x²+h²=l² iar x=(B-b)/2 vom avea
B²-2*B*(B-b)/2+l²=d²
de unde d=sqrt(B*B-2*B*(B-b)/2+l*l) - formula pentru diagonala trapezului
Secventa de cod arata asa
................................
int B,b,l,d;
cin>>B>>b>>l;
d=sqrt(B*B-2*B*(B-b)/2+l*l)
cout<<d;
..........................
Verificam d=sqrt(6*6-2*6(6-2)/2+5*5)=sqrt(36-12*4/2+25)=sqrt(36-24+25)=sqrt(37)=6,08276