Pagini recente » Cod sursa (job #2359631) | Monitorul de evaluare | Cod sursa (job #2956612) | Cod sursa (job #2675253) | Cod sursa (job #2576193)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream in("aria.in");
ofstream out("aria.out");
const int maxn = 100005;
pair <double, double> v[maxn];
double det(double x1, double y1, double x2, double y2, double x3, double y3)
{
return (x1 * y2 + x2 * y3 + x3 * y1 - x3 * y2 - x1 * y3 - x2 * y1) / 2;
}
int main()
{
int n;
in >> n;
double arie = 0;
for(int i = 1; i <= n; i++)
in >> v[i].first >> v[i].second;
v[n + 1] = v[1];
for(int i = 1; i <= n; i++)
arie = arie + det(0, 0, v[i].first, v[i].second, v[i + 1].first, v[i + 1].second);
out << setprecision(6) << fixed << arie << "\n";
return 0;
}