Pagini recente » Cod sursa (job #2339526) | Cod sursa (job #888143) | Cod sursa (job #1555702) | Cod sursa (job #32183) | Cod sursa (job #1402744)
#include <cstdio>
#define NMAX 100005
struct punct
{
double x, y;
};
double arie_trapez(punct A, punct B)
{
double lm = (A.y + B.y) / 2, h = A.x - B.x;
return lm * h;
}
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 x;
for (int i = 1; i <= N; ++i)
{
x = arie_trapez(A[i], A[i + 1]);
arie += x;
}
if (arie < 0)
arie = -arie;
printf("%lf", arie);
}
int main()
{
freopen("aria.in", "r", stdin);
freopen("aria.out", "w", stdout);
citire();
rezolvare();
return 0;
}