Pagini recente » Cod sursa (job #1342849) | Cod sursa (job #1565161) | Cod sursa (job #2938944) | Cod sursa (job #1063417) | Cod sursa (job #2333979)
#include <iostream>
#include <fstream>
#include <cstdio>
#include <iomanip>
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
int n, mini_x=-2000000, mini_y=-2000000;
long double arie;
struct p{
long double x, y;
}puncte[100005], pct_maxim;
double calculcare_arie(p punct1, p punct2, p punct3)
{
return (punct1.x*punct2.y+punct2.x*punct3.y+punct3.x*punct1.y-punct3.x*punct2.y-punct2.x*punct1.y-punct1.x*punct3.y)/2;
}
int main() {
freopen("aria.out","w",stdout);
f >> n;
for (int i=1; i<=n; i++)
{
f >> puncte[i].x >> puncte[i].y;
}
puncte[n+1]=puncte[1];
pct_maxim.x=-1000005;
pct_maxim.y=-1000005;
for (int i=1; i<=n; i++)
{
arie+=((puncte[i].y+puncte[i+1].y)/2*(puncte[i].x-puncte[i+1].x));
}
if (arie<0)
arie=-arie;
g << setprecision(6) << fixed << arie;
return 0;
}