Cod sursa(job #1148874)
Utilizator | todea darius TodeaDarius | Data | 21 martie 2014 11:03:53 |
---|---|---|---|
Problema | Aria | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include<cstdio>
using namespace std;
int n;
struct punct
{
double x,y;
}v[100005];
double aria;
void citire()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%lf%lf",&v[i].x,&v[i].y);
v[++n].x=v[1].x;
v[n].y=v[1].y;
}
int main()
{
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
citire();
for(int i=2;i<=n+1;i++)
aria+=v[i].x*v[i-1].y-v[i-1].x*v[i].y;
if(aria<0) aria*=-1;
printf("%.5lf\n",aria/2);
return 0;
}