hdu-2036计算任意多边形面积

来源:互联网 发布:java 常用加密算法 编辑:程序博客网 时间:2024/05/17 20:30
                这是一个通用的计算凸多边形或凹多边形面积的函数,用叉乘法实现的
#include<iostream>#include<cstdio>using namespace std;typedef struct {    double x,y;} Point;double polygonarea(Point *polygon,int N){    int i,j;    double area = 0;    for (i=0;i<N;i++) {        j = (i + 1) % N;        area += polygon[i].x * polygon[j].y;        area -= polygon[i].y * polygon[j].x;        }    area /= 2;    return(area < 0 ? -area : area);}int n,m;int main(){    Point point[110];    while(cin>>n&&n)    {        m=n;        while(n--)        {            cin>>point[n].x>>point[n].y;        }        printf("%.1lf\n",polygonarea(point,m));    }}

用的计算凸多边形或凹多边形面积的函数,用叉乘法实现
0 0
原创粉丝点击