您的位置:首页 > 其它

Hdu2036-求多边形面积

2013-08-19 14:51 183 查看
 求多边形面积,以此作为模板:

#include <iostream>
#include <cstdio>
using namespace std;
struct point{
int x,y;
point operator -(const point &b)
{
return (point){this->x - b.x,this->y - b.y};
}
}p[102];
int crossmul(point a,point b)
{
return a.x*b.y-a.y*b.x;
}
int main()
{
int i,n;
while(~scanf("%d",&n)&&n)
{

for(i=0;i<n;i++)
{
scanf("%d%d",&p[i].x,&p[i].y);
}
if(n<3){printf("0.0\n");continue;}
int area2=0;
for(i=1;i<n-1;i++)
area2+=crossmul(p[i]-p[0],p[i+1]-p[0]);
if(area2<0)
area2=-area2;
printf("%.1lf\n",1.0*area2/2);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: