Pagini recente » Cod sursa (job #306452) | Cod sursa (job #1436913) | Borderou de evaluare (job #128214) | Cod sursa (job #2676077) | Cod sursa (job #2577213)
#include <iostream>
#include <fstream>
#include <iomanip>
#include <vector>
#include <string>
using namespace std;
ifstream in("aria.in");
ofstream out("aria.out");
struct Point
{
long double x, y;
};
long double areaWithOrigin(Point a, Point b)
{
return (a.x * b.y - b.x * a.y) / 2;
}
int main()
{
int n;
long double sum = 0, a, b;
vector<Point> points;
in >> n;
for (int i = 0; i < n; i++)
{
in >> a >> b;
points.push_back({a, b});
};
points.push_back(points[0]);
for (int i = 0; i < n; i++)
{
sum += areaWithOrigin(points[i], points[i + 1]);
}
out << setprecision(6) << fixed << sum << "\n";
return 0;
}