Pagini recente » Cod sursa (job #2004794) | Cod sursa (job #110150) | Cod sursa (job #46232) | Cod sursa (job #2148738) | Cod sursa (job #2863953)
#include <iostream>
#include <fstream>
#include <cmath>
#include <iomanip>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
struct punct{
double x;
double y;
}a[10001];
int n;
double arie;
double determinant(punct a, punct b, punct c)
{
return (c.y - a.x) * (b.x - a.x) - (c.x - a.x) * (b.y - a.y);
}
void citire()
{
fin >> n;
for(int i = 0; i < n; ++i)
fin >> a[i].x >> a[i].y;
}
int main()
{
punct o;
o.x = 0;
o.y = 0;
citire();
for(int i = 0; i < n - 1; ++i)
{
double d = determinant(o, a[i], a[i + 1]);
arie += d;
}
arie += determinant(o, a[n - 1], a[0]);
fout << setprecision(5) << fixed << arie / 2;
return 0;
}