Pagini recente » Cod sursa (job #528451) | Cod sursa (job #2117393) | Cod sursa (job #2963156) | Cod sursa (job #388474) | Cod sursa (job #1979902)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
struct punct
{
double x, y;
};
void citire(punct v[], int &n)
{
f >> n;
for(int i = 1; i <= n; i++)
f >> v[i].x >> v[i].y;
}
double det_arie_triunghi(punct p1, punct p2)
{
return p1.x * p2.y - p2.x * p1.y;
}
double arie_poligon(punct v[], int n)
{
double A = 0;
for(int i = 1; i < n; i++)
A += det_arie_triunghi(v[i], v[i + 1]);
A += det_arie_triunghi(v[n], v[1]);
if(A < 0)A = -A;
A /= 2;
return A;
}
int main()
{
int n;
punct v[100001];
citire(v, n);
double A = arie_poligon(v, n);
g.setf(ios::fixed);
g.precision(5);
g << A;
f.close();
g.close();
return 0;
}