Pagini recente » Cod sursa (job #198608) | Cod sursa (job #775704) | Cod sursa (job #1734361) | Cod sursa (job #3153125) | Cod sursa (job #1402739)
#include <cstdio>
#define NMAX 100005
struct punct
{
double x, y;
};
double determinant(punct A, punct B)
{
return A.x * (B.y - A.y) - A.y * (B.x - A.x);
}
int N;
double arie;
punct A[NMAX];
void citire()
{
scanf("%d", &N);
for (int i = 1; i <= N; ++i)
scanf("%lf %lf", &A[i].x, &A[i].y);
A[N + 1] = A[1];
}
void rezolvare()
{
double det;
for (int i = 1; i <= N; ++i)
{
det = determinant(A[i], A[i + 1]);
arie += det / 2;
}
if (arie < 0)
arie = -arie;
printf("%lf", arie);
}
int main()
{
freopen("aria.in", "r", stdin);
freopen("aria.out", "w", stdout);
citire();
rezolvare();
return 0;
}