Hdu2036-求多边形面积

来源:互联网 发布:什么是linux发行版 编辑:程序博客网 时间:2024/05/10 12:56

 求多边形面积,以此作为模板

#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;}




原创粉丝点击