Pagini recente » Cod sursa (job #3364926) | Cod sursa (job #3364916) | Cod sursa (job #3364924) | Cod sursa (job #3364925) | Cod sursa (job #3364927)
#include <fstream>
#include <vector>
#include <cmath>
#include <iomanip>
using namespace std;
ifstream cin ("aria.in");
ofstream cout ("aria.out");
struct Punct
{
long double x, y;
};
int n;
long double x, y;
vector <Punct> v;
Punct origine = {0, 0};
long long s;
long double aria(const Punct& a, const Punct& b, const Punct& c)
{
return (a.x*(b.y - c.y) + b.x*(c.y - a.y) + c.x*(a.y - b.y));
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x >> y;
v.push_back({x, y});
}
for (int i = 1; i < v.size(); i++)
{
s += aria(origine, v[i - 1], v[i]);
}
s += aria(origine, v[n - 1], v[0]);
cout << abs(s) / 2.0 << '\n';
return 0;
}