Pagini recente » Cod sursa (job #2065830) | Monitorul de evaluare | Borderou de evaluare (job #22656) | Borderou de evaluare (job #2890228) | Cod sursa (job #1334856)
#include <stdio.h>
#include <math.h>
#define N_MAX 100001
double x[ N_MAX ], y[ N_MAX ];
int main( ) {
FILE * fin, * fout;
fin = fopen( "aria.in", "r" );
fout = fopen( "aria.out", "w" );
int N;
fscanf( fin, "%d", &N );
double area = 0;
int i;
for( i = 0; i < N; i ++ ) {
fscanf( fin, "%lf %lf", x + i, y + i );
}
x[ N ] = x[ 0 ];
y[ N ] = y[ 0 ];
for( i = 0; i < N; i ++ ) {
area = (double)(area + ( x[ i ] * y[ i + 1 ] - x[ i + 1 ] * y[ i ] ));
}
area = (double)(area / 2.0);
fprintf( fout, "%.8lf", area < 0 ? -area : area );
fclose( fin );
fclose( fout );
}