Mình đang cần giúp đề bài như sau:
- Kiểm tra 3 điểm xem có thẳng hàng ko nếu có in ra YES
- Nếu không thì in ra diện tích và chu vi tam giác 3 điểm tạo thành
Đây là code của mình(đang sai) mong mọi người chỉ giúp
#include <bits/stdc++.h>
using namespace std;
struct toado
{
float x,y;
};
toado a,b,c;
int kiemtra()
{
float d1=sqrt((a.x-b.x)*(a.x-b.x)-(a.y-b.y)*(a.y-b.y));
float d2=sqrt((a.x-c.x)*(a.x-c.x)-(a.y-c.y)*(a.y-c.y));
float d3=sqrt((c.x-b.x)*(c.x-b.x)-(c.y-b.y)*(c.y-b.y));
if (d1+d2==d3||d1+d3==d2||d2+d3==d1)
{
return 1;
}
return 0;
}
void xuli()
{
if(kiemtra()==1){cout<<"thang hang";}
else
{
float d1=sqrt((a.x-b.x)*(a.x-b.x)-(a.y-b.y)*(a.y-b.y));
float d2=sqrt((a.x-c.x)*(a.x-c.x)-(a.y-c.y)*(a.y-c.y));
float d3=sqrt((c.x-b.x)*(c.x-b.x)-(c.y-b.y)*(c.y-b.y));
float c=d1+d2+d3;
float p=c/2;
float s=sqrt(p*(p-d1)*(p-d2)*(p-d3));
cout<<setprecision(3)<<fixed<<s<<" "<<c<<endl;
}
}
int main()
{
cin>>a.x>>a.y;
cin>>b.x>>b.y;
cin>>c.x>>c.y;
xuli();
return 0;
}