Pagini recente » Cod sursa (job #815050) | Cod sursa (job #988830) | Cod sursa (job #2801559) | Cod sursa (job #3120624) | Cod sursa (job #1059445)
#include <cstdio>
#include<cmath>
using namespace std;
#define Nmax 100005
struct punct{
double x,y;
} p[Nmax];
int n;
double pr,aria,l[4];
int main()
{
int i,j;
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
scanf("%d",&n);
scanf("%lf %lf",&p[1].x,&p[1].y);
scanf("%lf %lf",&p[2].x,&p[2].y);
l[1]=sqrt((p[1].x-p[2].x)*(p[1].x-p[2].x)+(p[1].y-p[2].y)*(p[1].y-p[2].y));
for(i=3; i<=n; i++)
{
scanf("%lf %lf",&p[i].x,&p[i].y);
l[2]= sqrt((p[i].x-p[i-1].x)*(p[i].x-p[i-1].x)+(p[i].y-p[i-1].y)*(p[i].y-p[i-1].y));
l[3]= sqrt((p[i].x-p[1].x)*(p[i].x-p[1].x)+(p[i].y-p[1].y)*(p[i].y-p[1].y));
pr=(l[1]+l[2]+l[3])/2;
aria+=sqrt(pr*(pr-l[1])*(pr-l[2])*(pr-l[3]));
l[1]=l[3];
}
printf("%lf\n",aria);
return 0;
}