Pagini recente » Clasament | Clasament agm2015 | Rezultatele filtrării | Istoria paginii moisil-2015/clasament/1112 | Cod sursa (job #1569220)
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <cmath>
#define nmax 100005
using namespace std;
struct point {
double x, y;
} P[nmax];
int n;
double Aria;
int main()
{
ifstream fi("aria.in");
ofstream fo("aria.out");
/*
4
-2 -2
2 -2
2 2
-2 2
*/
fi >> n;
for (int i = 1; i <= n; i++)
fi >> P[i].x >> P[i].y;
P[n+1].x = P[1].x;
P[n+1].y = P[1].y;
Aria = 0;
for (int i = 1; i <= n; i++)
Aria += (P[i].y + P[i+1].y) * (P[i+1].x - P[i].x);
Aria /= 2;
fo << fixed;
fo << setprecision(5) << abs(Aria) << "\n";
fi.close();
fo.close();
return 0;
}