Pagini recente » Cod sursa (job #257628) | Cod sursa (job #3174958) | Cod sursa (job #2701799) | Cod sursa (job #3224689) | Cod sursa (job #1820280)
#include <fstream>
#include <cmath>
#include <cassert>
#include <iomanip>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
struct a{
double abs,ord;
}
poz[100005];
int i,n;
double S,y2,x2,p;
int main()
{
fin>>n;
assert(1<=n && n<=100000);
for(i=1;i<=n;i++)
{fin>>poz[i].abs>>poz[i].ord;
assert(-10000000<=poz[i].abs && poz[i].abs<=10000000);
assert(-10000000<=poz[i].ord && poz[i].ord<=10000000);}
poz[n+1].abs=poz[1].abs;
poz[n+1].ord=poz[1].ord;
for(i=1;i<=n;i++)
S+=(poz[i].abs*poz[i+1].ord-poz[i+1].abs*poz[i].ord);
fout<<setprecision(5)<<fixed<<fabs(S/2.0);
return 0;
}