Pagini recente » Cod sursa (job #393380) | Cod sursa (job #3162468) | Cod sursa (job #1940188) | Monitorul de evaluare | Cod sursa (job #2371857)
#include <iomanip>
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
#define FILE_NAME "aria"
ifstream in (FILE_NAME".in");
ofstream out(FILE_NAME".out");
struct punct
{
long double x, y;
punct(long double _x = 0, long double _y = 0)
{
x = _x, y = _y;
}
};
vector < punct > Poligon;
int N;
int main()
{
in >> N;
for(int i = 1; i <= N; ++i)
{
long double x, y;
in >> x >> y;
Poligon.push_back(punct(x, y));
}
Poligon.push_back(Poligon[0]);
long double arie = 0;
for(int i = 0; i < N; ++i)
arie += Poligon[i].x * Poligon[i+1].y - Poligon[i+1].x * Poligon[i].y;
out << fixed << setprecision(5) << abs(arie / 2.0);
return 0;
}