Pagini recente » Cod sursa (job #2467854) | Cod sursa (job #2652155) | Cod sursa (job #1829556) | Cod sursa (job #2641045) | Cod sursa (job #1360873)
#include <iostream>
#include <cstdio>
using namespace std;
struct punct
{
double x;
double y;
};
const int MAXN = 100000;
int N, A, B, I;
punct p[MAXN+1];
void citire()
{
scanf("%d",&N);
for(int i = 1; i <= N; i++)
scanf("%lf %lf",&p[ i ].x,&p[ i ].y);
p[ N + 1 ] = p[ 1 ];
}
double modul(double x)
{
if( x >= 0 )
return x;
return -x;
}
double computeArea()
{
double area = 0;
for(int i = 1; i <= N; i++)
{
area += ( p[ i ].x*p[ i + 1 ].y - p[ i + 1 ].x*p[ i ].y );
//cout<<countPoints( p[ i ], p[ i + 1 ] )<<endl;
}
return area/2.0;
}
int main()
{
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
citire();
//testCountPoints();
double A = modul( computeArea() );
//cout<<cmmdc(3,1);
//cout<<A<<endl;
printf("%lf",A);
return 0;
}