📄 10-8.cpp
字号:
#include<iostream.h>
#include<iomanip.h>
class Line
{
private:
double x1,x2,y1,y2;
public:
Line(){ };
Line(double a,double b,double c,double d)
{
x1=a;y1=b;x2=c;y2=d;
cout<<"线段端点:"<<x1<<","<<y1<<")-("<<x2<<","\
<<y2<<")"<<endl;
};
friend twoline(Line l1,Line l2) //友元函数
{
double r1=l2.y1*(l2.x2-l1.x1)-l1.y1*(l2.x2-l2.x1)+(l1.x1-l2.x1)*(l2.y2-l2.y1);
double r2=(l1.y2-l1.y1)*(l2.x2-l2.x1)-(l1.x2-l1.x1)*(l2.y2-l2.y1);
double r=r1/r2;
double t=((l1.x1-l2.x1)+r*(l1.x2-l1.x1))/(l2.x2-l2.x1);
if(r>0&&r<1&&t>0&&t<1)
cout<<"两线段相交."<<endl;
else if(r>0&&r<1&&t>=1)
cout<<"两线段不相交,一条在另一条的一侧."<<endl;
else if((r>=1||r<=0)&&t>0&&t<1)
cout<<"两线段不相交,一条在另一条的一侧."<<endl;
else
cout<<"两线段不相交."<<endl;
}
};
void main()
{
Line A(2,2,18,18),B(1,12,19,5);
twoline(A,B);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -