Pagini recente » Cod sursa (job #96867) | Cod sursa (job #1802987) | Cod sursa (job #1573693) | Cod sursa (job #3230517) | Cod sursa (job #1834398)
#include <fstream>
#include <cmath>
#include <iomanip>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
long double area_tot;
int n;
struct point
{
long double x, y;
};
point p[100005];
long double area(point a, point b, point c)
{
a.x -= c.x;
b.x -= c.x;
a.y -= c.y;
b.y -= c.y;
return ((long double)(a.x * b.y - b.x * a.y) / 2);
//return fabs((int)(a.x * b.y - b.x * a.y) / 2);
}
long double area_all(int n, point p[])
{
long double area_tot = 0;
for (int i = 2; i < n; i++)
area_tot += area(p[1], p[i], p[i + 1]);
return fabs(area_tot);
}
int main()
{
fin >> n;
for(int i = 1; i <= n; i++)
fin >> p[i].x >> p[i].y;
//area_tot = area(n, p);
fout << fixed << setprecision(6) << area_all(n, p) << '\n';
return 0;
}