Pagini recente » Cod sursa (job #1987307) | Cod sursa (job #1135160) | Cod sursa (job #1133711) | Cod sursa (job #449409) | Cod sursa (job #2572377)
#include <bits/stdc++.h>
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
struct punct
{
double x,y;
}v[100100],O,punct1,punct2;
double afla_arie(punct A,punct B,punct C)
{
double l1=sqrt((A.x-B.x)*(A.x-B.x) + (A.y-B.y)*(A.y-B.y));
double l2=sqrt((A.x-C.x)*(A.x-C.x) + (A.y-C.y)*(A.y-C.y));
double l3=sqrt((C.x-B.x)*(C.x-B.x) + (C.y-B.y)*(C.y-B.y));
double p=(l1+l2+l3)/2;
double rez=sqrt(p*(p-l1)*(p-l2)*(p-l3));
return rez;
}
int n,y,i;
double sumax,ARIE,sumay;
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i].x>>v[i].y;
sumax+=v[i].x;
sumay+=v[y].y;
}
O.x=sumax/n;
O.y=sumay/n;
for(i=1;i<=n;i++)
{
punct1=v[i];
if(i==n)punct2=v[1];
else punct2=v[i+1];
ARIE+=afla_arie(punct1,punct2,O);
}
g<<fixed<<setprecision(5)<<ARIE;
return 0;
}