Pagini recente » Cod sursa (job #2548580) | Cod sursa (job #2059425) | Cod sursa (job #1568847) | Istoria paginii runda/abcdfe | Cod sursa (job #1886951)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
struct punct{
double x;
double y;
}*a;
int n;
double cross(int i)
{
punct ab,ac;
ab.x = a[i].x-a[1].x;
ab.y = a[i].y-a[1].y;
ac.x = a[i+1].x-a[1].x;
ac.y = a[i+1].y-a[1].y;
return ab.x*ac.y-ab.y*ac.x;
}
int main()
{
fin>>n;
a= new punct[n+1];
for(int i=1;i<=n;i++)
fin>>a[i].x>>a[i].y;
//starting calculating areas of triangles that have one point from a[0];
double area=0;
for(int i=2;i<n;i++)
area+=cross(i);
fout<<fabs(area/2);
return 0;
}