Pagini recente » Cod sursa (job #645010) | Cod sursa (job #657701) | Cod sursa (job #2302383) | Cod sursa (job #1950574) | Cod sursa (job #2547663)
#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;
}