Pagini recente » Cod sursa (job #2865382) | Cod sursa (job #1826185) | Cod sursa (job #2573226) | Cod sursa (job #3175111) | Cod sursa (job #1796499)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct point{
double x,y;
}*poligon;
double det(point a,point b){
return a.x*b.y-b.x*a.y;
}
int main(){
freopen("aria.in","r",stdin);
unsigned long n;
scanf("%lu",&n);
poligon=(point*)malloc((n+1)*sizeof(point));
for(unsigned long i=0;i<n;i++)
scanf("%lf %lf",&poligon[i].x,&poligon[i].y);
fclose(stdin);
double surface=0;
poligon[n]=poligon[0];
for(unsigned long i=0;i<n;i++)
surface+=det(poligon[i],poligon[i+1]);
freopen("aria.out","w",stdout);
printf("%.5lf",fabs(surface/2.0));
fclose(stdout);
return 0;
}