Pagini recente » Cod sursa (job #566234) | Cod sursa (job #2052229) | Cod sursa (job #2024701) | Cod sursa (job #825772) | Cod sursa (job #2547670)
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
struct punct {
long double x, y;
};
punct varf[100000];
long double ariaDubla(punct vf1, punct vf2) {
long double a;
a = (vf2.x - vf1.x) * (vf1.y + vf2.y);
return a;
}
int main() {
int n, i;
long double aria = 0;
fin >> n;
for(i = 0; i < n; ++i) {
fin >> varf[i].x >> varf[i].y;
}
for(i = 1; i < n; ++i) {
aria += ariaDubla(varf[i-1], varf[i]);
}
aria = (aria + ariaDubla(varf[n-1], varf[0])) / 2;
if (aria < 0) aria = -aria;
fout << setprecision(5) << fixed << aria;
return 0;
}