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;
}
#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;
}
相关文章推荐
- hdu2036 求多边形面积(向量叉乘)
- HDU2036 多边形面积
- 利用向量积(叉积)计算三角形的面积和多边形的面积(hdu2036)
- HDU2036 多边形面积模板
- HDU2036-改革春风吹满地(简单多边形的面积)
- hdu2036 (计算多边形的面积)
- 计算多边形面积hdu2036
- HDU2036 改革春风吹满地【多边形面积】
- hdu2036 (计算多边形的面积)
- 改革春风吹满地---hdu2036(多边形用差积求面积)
- 【1级裸装没点技能点的计算几何】任意多边形面积-HDU2036
- HDU2036 改革春风吹满地(多边形面积模版题)
- 改革春风吹满地(hdu2036,多边形面积)
- 多边形面积的求法(已知每个点的坐标)hdu2036
- HDU2036(多边形面积)
- 求多边形面积 HDU2036
- HDU2036_改革春风照大地_点求多边形面积
- hdu2036改革春风吹满地(多边形面积)
- hdu2036 求多边形面积
- 多边形(n边形)面积计算公式hdu2036