📄 myrectangle.cpp
字号:
#include <iostream>
#include <algorithm>
using namespace std;
float x[5],y[5];
struct point
{
float x,y;
}p[17];
bool cmp(point m,point n)
{
if (m.x==n.x) return m.y<n.y;
else return m.x<n.x;
}
float min(float x,float y)
{
return x>y?y:x;
}
float max(float x,float y)
{
return x>y?x:y;
}
int main()
{
float covery;
cout<<"请输入第一个矩形左上角坐标,以空格隔开"<<endl;
cin>>x[1]>>y[1];
cout<<"请输入第一个矩形右下角坐标,以空格隔开"<<endl;
cin>>x[2]>>y[2];
cout<<"请输入第二个矩形左上角坐标,以空格隔开"<<endl;
cin>>x[3]>>y[3];
cout<<"请输入第二个矩形右下角坐标,以空格隔开"<<endl;
cin>>x[4]>>y[4];
if (min(x[1],x[2])>max(x[3],x[4])||min(x[3],x[4])>max(x[1],x[2])||min(y[1],y[2])>max(y[3],y[4])||min(y[3],y[4])>max(y[1],y[2]))
{
cout<<"两矩形不相交"<<endl;return 1;
}
for (int i=1;i<=4;i++)
{
for (int j=1;j<=4;j++)
{
p[(i-1)*4+j-1].x=x[i];
p[(i-1)*4+j-1].y=y[j];
}
}
sort(p,p+16,cmp);
covery=(p[5].y-p[6].y)*(p[5].x-p[9].x);
if (covery==0) cout<<"两矩形交于一点"<<endl;
else
cout<<"两矩形相交部分面积为"<<covery<<endl;
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -