Mam problem z zadaniem: https://pl.spoj.com/problems/XIWTPZA/
#include <iostream>
#include <cmath>
using namespace std;
int t,i,a,b,c,d;
float h;
//Liczy długość przekątnej
float przekatna(int a,int b)
{
return sqrt(pow(a,2)+pow(b,2));
}
//Oblicza długość, którą maksymalnie może mieć jeden z boków prostokąta, który ma znaleźć się we wnątrz pierwszego prostokąta
float rownanie_kwadratowe(int a, int b, int c, int d, float h)
{
float delta, x=abs(c*d-a);
int B=(c*d-a), C=c*h*(2+b);
delta=pow(B,2)-4*C;
if(delta==0) return B*(-1)/2;
else
if(delta>0)
{
if(x>sqrt(delta)) return (B*(-1)-sqrt(delta))/2;
else return (B*(-1)+sqrt(delta))/2;
}
else return 50001;
}
int main()
{
cin>>t;
for(i=0;i<t;i++)
{
cin>>a>>b>>c>>d;
h=przekatna(a,b)/2;
if(a*b>c*d)
{
//sprawdza boki
if(((a>c)&&(b>d))||((a>d)&&(b>c)))
cout<<"TAK"<<endl;
else
//sprawdza przekątną i bok
if((przekatna(a,b)>c)&&(rownanie_kwadratowe(a,b,c,d,h)<d))
cout<<"TAK"<<endl;
else
if((przekatna(a,b)>d)&&(rownanie_kwadratowe(a,b,d,c,h)<c))
cout<<"TAK"<<endl;
else
cout<<"NIE"<<endl;
}
else
cout<<"NIE"<<endl;
}
return 0;
}
Cały czas mam błąd i nie wiem gdzie.