Chat
Danh mục
Xét điểm O có nằm trong tam giác hay Không?

Xét điểm O có nằm trong tam giác hay Không?

Số lượng:
Thêm vào giỏ
Xét điểm O có nằm trong tam giác hay Không? đã được thêm vào giỏ hàng

Đề bài:

Cho các số thực x1, x2, x3, y1, y2, y3. Gốc tọa độ có nằm trong tam giác được tạo bởi 3 đỉnh (x1, y1), (x2, y2), (x3, y3) hay không?

Thuật toán:

Để điểm O nằm trong tam giác ABC thì diện tích các tam giác ABO = ACO = BCO


#include <iostream.h>
#include <math.h>
# include <conio.h>
void main ()
{
float x1,y1,x2,y2,x3,y3,AC,AB,BC,AO,BO,CO,pABC,pACO,pBOC,pABO,SACO,SBOC,SABO,SABC;
cout<<"\n nhap toa do 1(x1,y1):";
cin>>x1>>y1;
cout<<"\n nhap toa do 2(x2,y2):";
cin>>x2>>y2;
cout<<"\n nhap toa do 3(x3,y3):";
cin>>x3>>y3;
AC = sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
AB = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
BC = sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
AO = sqrt((x1*x1)+(y1*y1));
BO = sqrt((x2*x2)+(y2*y2));
CO = sqrt((x3*x3)+(y3*y3));
pABC=(AB+AC+BC)/2;
pACO=(AC+AO+CO)/2;
pBOC=(BC+CO+BO)/2;
pABO=(AB+AO+BO)/2;
SABC=(pABC*(pABC-AC)*(pABC-AB)*(pABC*BC));
SACO=sqrt(pACO*(pACO-AC)*(pACO-AO)*(pACO*CO));
SBOC=sqrt(pBOC*(pBOC-BC)*(pBOC-BO)*(pBOC*CO));
SABO=sqrt(pABO*(pABO-AB)*(pABO-AO)*(pABO*BO));
cout<<"\n do dai canh AC:"<<AC;
cout<<"\n do dai canh AB:"<<AB;
cout<<"\n do dai canh BC:"<<BC;
cout<<"\n do dai canh AD:"<<AO;
cout<<"\n do dai canh BD:"<<BO;
cout<<"\n do dai canh CD:"<<CO;
cout<<"\n dien tich tam giac ACD:"<<SABC;
cout<<"\n dien tich tam giac ACD:"<<SACO;
cout<<"\n dien tich tam giac BDC:"<<SBOC;
cout<<"\n dien tich tam giac ABD:"<<SABO;
if (SABC=(SACO+SBOC+SABO))
{
cout<<"\n diem O nam trong tam giac ABC:";
}
else
cout<<"\n Diem O khong nam trong tam giac ABC:";

int getch ();
}

Đăng By ChipKool