题目大意:                 给你逆时针n个坐标点,要求求一个多边形的面积(多边形可能为凸多边形or凹多边形)。 解题思路:                利用叉积的思想,改进版是只要求一个循环的点的关系。S=0.5*abs(x1*y2-y1*x2+x2*y3-y2*x3+...+xn*y1-yn*x1); 代码:
#include
const int MAX=105;
using namespace std;

typedef struct point
{
	double x;
	double y;
	point(double a=0,double b=0) :x(a),y(b) {}
}P;

P po[MAX];
int n;

double areaCount()//可计算凹ro凸多边形
{
	double ans=0;
	for(int i=0;i>n,n)
	{
		for(i=0;i>po[i].x>>po[i].y;
		double ans=areaCount();
		printf("%.1lf\n",ans);
	}
	return 0;
}
posted on 2011-11-06 09:42  cchun  阅读(153)  评论(0编辑  收藏  举报