Pagini recente » Cod sursa (job #160557) | Cod sursa (job #2113389) | Cod sursa (job #67218) | Cod sursa (job #1146335) | Cod sursa (job #1166610)
// Arie poligon oarecare - O(N)
#include <fstream>
#include <cmath>
#define Nmax 100099
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
int N;
struct point{long double x,y;}P[Nmax];
long double Arie(point P[Nmax])
{
long double aux=0.0;
for (int i=1; i<=N; ++i)
aux+=(P[i].x*P[i+1].y-P[i+1].x*P[i].y);
aux*=0.5;
return fabs(aux);
}
int main()
{
f>>N;
for (int i=1; i<=N; ++i) f>>P[i].x>>P[i].y;
P[N+1]=P[1];
g.precision(5);
g<<fixed<<Arie(P)<<'\n';
f.close();g.close();
return 0;
}