Pagini recente » Cod sursa (job #1733947) | Cod sursa (job #298321) | Cod sursa (job #204699) | Cod sursa (job #1168939) | Cod sursa (job #1841034)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
struct Wow{double x,y;}puncte[100010];
int n;
long double aria;
inline double getArie(Wow, Wow, Wow);
int main()
{
Wow O{0,0};
fin>>n;
for(int i=1;i<=n;i+=1) fin>>puncte[i].x>>puncte[i].y;
puncte[n+1]=puncte[1];
for(int i=1;i<=n;i+=1) aria+=getArie(O,puncte[i],puncte[i+1]);
aria=abs(aria)/2.0;
fout<<fixed<<setprecision(6)<<aria;
return 0;
}
inline double getArie(Wow a, Wow b, Wow c){return (a.x*b.y)+(b.x*c.y)+(a.y*c.x)-(b.y*c.x)-(a.x*c.y)-(a.y*b.x);}