Pagini recente » Cod sursa (job #1964306) | Cod sursa (job #1809971) | Cod sursa (job #865735) | Cod sursa (job #2125416) | Cod sursa (job #2367915)
#include <stdio.h>
#include <cmath>
using namespace std;
FILE *f,*g;
struct PCT
{
double x,y;
};
PCT v[100010],G,A,B;
int N;
void Read()
{
int i;
fscanf(f,"%d",&N);
for(i=1;i<=N;++i)
{
fscanf(f,"%lf %lf",&v[i].x,&v[i].y);
G.x+=v[i].x,G.y+=v[i].y;
}
G.x/=2;G.y/=2;
}
double Det(int Ps,int Pd)
{
A=v[Ps];B=v[Pd];
return abs((A.x*B.y+B.x*G.y+G.x*A.y-B.y*G.x-G.y*A.x-A.y*B.x));
}
void Solve()
{
int i;
v[0]=v[N];
double Area=0;
for(i=1;i<=N;++i)
Area+=Det(i-1,i);
Area/=2.0;
fprintf(g,"%0.6lf",Area);
}
int main()
{
f=fopen("aria.in","r");g=fopen("aria.out","w");
Read();Solve();
fclose(f);fclose(g);
return 0;
}