Pagini recente » Cod sursa (job #1533066) | Cod sursa (job #1979024) | Cod sursa (job #2271264) | Cod sursa (job #1736604) | Cod sursa (job #2014654)
#include <fstream>
#include <vector>
#include <iomanip>
using namespace std;
ifstream cin("aria.in");
ofstream cout("aria.out");
double det(pair < double, double > a, pair < double, double > b, pair < double, double > c) {
double d = (a.first * b.second) + (b.first * c.second) + (c.first * a.second) -
(a.second * b.first) - (b.second * c.first) - (c.second * a.first);
if (d < 0)
d *= -1.0f;
return d / 2.0f;
}
int main() {
int n;
cin >> n;
vector < pair < double, double > > v(n + 1);
double aria = 0;
for (int i = 1; i <= n ; i ++) {
double x, y;
cin >> x >> y;
v[i] = {x, y};
}
for (int i = 2; i <= n - 1; i++) {
aria += det(v[1], v[i], v[i + 1]);
}
cout << fixed << setprecision(7) << aria << '\n';
}