Pagini recente » Cod sursa (job #1584112) | Cod sursa (job #2146594) | Cod sursa (job #326941) | Cod sursa (job #2457395) | Cod sursa (job #2360566)
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
FILE *f,*g;
struct bla
{
long double x,y;
}v[100002];
int main()
{
f=fopen("aria.in","r");
g=fopen("aria.out","w");
int n;
long double arie=0;
fscanf(f,"%d",&n);
///punctele sunt deja date in ordine trigonometrica
for(int i=1;i<=n;++i)
fscanf(f,"%lf %lf",&v[i].x,&v[i].y);
///pt ca sunt in ordine trigonometrica semnul ariei este acleasi la toate triunghurile
v[n+1]=v[1];
for(int i=2;i<=n+1;++i)
arie=arie+v[i-1].x*v[i].y-v[i].x*v[i-1].y;
if(arie<0)
arie=(-arie);
arie*=(0.5);
fprintf(g,"%lf",arie);
fclose(f);
fclose(g);
return 0;
}