Pagini recente » Cod sursa (job #365331) | Cod sursa (job #2237637) | Cod sursa (job #1337242) | Cod sursa (job #1163223) | Cod sursa (job #1801786)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
struct Point{
double x, y;
};
double area2Sign(const Point& p1, const Point& p2, const Point& p3){
return (p1.x - p3.x) * (p2.y - p3.y) - (p1.y - p3.y) * (p2.x - p3.x);
}
int main()
{
ifstream cin("aria.in");
ofstream cout("aria.out");
#define NMAX 100005
int n;
Point points[NMAX];
cin >> n;
for (int i = 0; i < n; ++i){
cin >> points[i].x >> points[i].y;
}
double area = 0;
points[n] = points[0];
for (int i = 1; i < n; ++i){
area += area2Sign(points[0], points[i], points[i + 1]);
}
cout << fixed << setprecision(5) << area / 2 << '\n';
return 0;
}