Pagini recente » Cod sursa (job #2549665) | Cod sursa (job #1429349) | Cod sursa (job #2756248) | Cod sursa (job #1077457) | Cod sursa (job #1887063)
#include <iostream>
#include <fstream>
#include <math.h>
#include <iomanip>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
struct punct{
double x;
double y;
}*a;
int n;
double determinant(int i)
{
double x1,x2,x3,y1,y2,y3;
x1=a[1].x;
y1=a[1].y;
x2=a[i].x;
y2=a[i].y;
x3=a[i+1].x;
y3=a[i+1].y;
return x1*y2 + x3*y1 + x2*y3 - x3*y2 - x2*y1 - x1*y3;
}
int main()
{
fin>>n;
a= new punct[n+1];
for(int i=1;i<=n;i++)
fin>>a[i].x>>a[i].y;
double area=0;
for(int i=2;i<n;i++)
area+=determinant(i);
fout<<fixed;
fout<<setprecision(10)<<fabs(area/2);
return 0;
}