Pagini recente » Cod sursa (job #2853227) | Cod sursa (job #2681101) | Cod sursa (job #1634803) | Cod sursa (job #50267) | Cod sursa (job #2515911)
#include <cstdio>
#include <cmath>
using namespace std;
const int NMAX=100005;
struct POINT
{
long double x,y;
};
POINT P[NMAX];
long double aria_tr_semn(POINT P1,POINT P2,POINT P3)
{
long double arie;
arie=0.5*((P2.x-P1.x)*(P3.y-P2.y)-(P2.y-P1.y)*(P3.x-P2.x));
return arie;
}
long double aria_poligon(POINT P[NMAX],int n)
{
int i;
long 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;
long 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("%Lf",arie_poligon);
return 0;
}