Pagini recente » Cod sursa (job #2603380) | Cod sursa (job #305527) | Cod sursa (job #2055800) | Cod sursa (job #2597651) | Cod sursa (job #2683557)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin ("aria.in");
ofstream fout ("aria.out");
struct data
{
long double x;
long double y;
};
int n;
data cord[100041];
void read()
{
fin >> n;
for (int i=0;i<n;++i)
{
fin >> cord[i].x >> cord[i].y;
}
}
long double abs(long double x)
{
if (x<0)
return -x;
return x;
}
long double det_arie(long double ax, long double ay, long double bx, long double by)
{
long double s=abs((ax*by-ay*bx)/2);
return s;
}
int main()
{
read();
long double aria=0;
cord[n]=cord[0];
for (int i=0;i<=n;++i)
{
aria+=det_arie(cord[i].x,cord[i].y,cord[(i+1)].x,cord[(i+1)].y);
}
fout <<fixed<< setprecision(15) << aria;
return 0;
}