Pagini recente » Cod sursa (job #654168) | Cod sursa (job #1676699) | Cod sursa (job #1942823) | Cod sursa (job #1000595) | Cod sursa (job #1095142)
// 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);
}
void ReadInput();
int main()
{
ReadInput();
g.precision(5);
g<<fixed<<Arie(P)<<'\n';
f.close();g.close();
return 0;
}
void ReadInput()
{
f>>N;
for (int i=1; i<=N; ++i) f>>P[i].x>>P[i].y;
P[N+1]=P[1];
}