Pagini recente » Cod sursa (job #1009121) | Cod sursa (job #1304380) | Cod sursa (job #2300977) | Cod sursa (job #2791214) | Cod sursa (job #1687772)
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int n;
struct coord
{
long double x,y;
} coordonate[100000];
void citire()
{
scanf("%d\n",&n);
for(int i=0; i<n; i++)
{
scanf("%Lf %Lf\n",&coordonate[i].x,&coordonate[i].y);
coordonate[i].x += 1000000;
coordonate[i].y += 1000000;
}
coordonate[n].x = coordonate[0].x;
coordonate[n].y = coordonate[0].y;
}
void afisare(long double z)
{
if(z==(int)z)
{
printf("%.0Lf",z);
return;
}
if((z*10)==(int)(z*10))
{
printf("%.1Lf",z);
return;
}
if((z*100)==(int)(z*100))
{
printf("%.2Lf",z);
return;
}
if((z*1000)==(int)(z*1000))
{
printf("%.3Lf",z);
return;
}
if((z*10000)==(int)(z*10000))
{
printf("%.4Lf",z);
return;
}
printf("%.5Lf",z);
return;
}
void prelucrare()
{
long double arie=0;
for(int i=0; i<n; i++)
{
arie+=((coordonate[i].y+coordonate[i+1].y)*(coordonate[i+1].x-coordonate[i].x));
}
arie=abs(arie/2);
afisare(arie);
}
int main()
{
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
citire();
prelucrare();
return 0;
}