?? 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 + -