Pagini recente » Cod sursa (job #2881100) | Cod sursa (job #2751703) | Cod sursa (job #546304) | Cod sursa (job #2505374) | Cod sursa (job #2515902)
#include <cstdio>
#include <cmath>
using namespace std;
const int NMAX=100005;
struct POINT
{
double x,y;
};
POINT P[NMAX];
double aria_tr_semn(POINT P1,POINT P2,POINT P3)
{
double arie;
arie=0.5*((P2.x-P1.x)*(P3.y-P2.y)-(P2.y-P1.y)*(P3.x-P2.x));
return arie;
}
double aria_poligon(POINT P[NMAX],int n)
{
int i;
double arie=0;
for(i=2;i<n;i++)
arie=arie+aria_tr_semn(P[1],P[i],P[i+1]);
arie=fabs(arie);
return arie;
}
int main()
{
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
int n,i;
double tempx,tempy,arie_poligon;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lf%lf",&tempx,&tempy);
P[i].x=tempx;
P[i].y=tempy;
}
arie_poligon=aria_poligon(P,n);
printf("%.5lf",arie_poligon);
return 0;
}