Pagini recente » Cod sursa (job #2894857) | Cod sursa (job #1239313) | Cod sursa (job #432458) | Cod sursa (job #1144200) | Cod sursa (job #906145)
Cod sursa(job #906145)
#include <stdio.h>
using namespace std;
const int dim = 100005;
int N;
double X[dim], Y[dim], a = 0;
double adet (double x2, double y2, double x3, double y3)
{
return - x3 * y2 + x2 * y3;
}
double absd (double a)
{
if (a < 0) return -a;
return a;
}
int main ()
{
freopen ("aria.in", "r", stdin);
freopen ("aria.out", "w", stdout);
scanf ("%d", &N);
scanf ("%lf%lf", &X[1], &Y[1]);
for (int i = 2; i <= N; i++)
{
scanf ("%lf%lf", &X[i], &Y[i]);
a += adet (X[i-1], Y[i-1], X[i], Y[i]);
}
a += adet (X[N], Y[N], X[1], Y[1]);
printf ("%lf", absd (a) / 2);
return 0;
}