Pagini recente » Cod sursa (job #1268544) | Cod sursa (job #2018967) | Cod sursa (job #2583048) | Cod sursa (job #1406403) | Cod sursa (job #1606483)
#include <fstream>
#include <iomanip>
using namespace std;
ofstream fout("aria.out");
ifstream fin("aria.in");
struct point{
double x;
double y;
}v[4];
double area(point a, point b, point c)
{
a.x -= c.x;
b.x -= c.x;
a.y -= c.y;
b.y -= c.y;
double d=(double)(a.x * b.y - a.y * b.x)/2;
if(d >= 0)
{
return d;
}
else
{
return 0 - d;
}
}
int main()
{
int n, i;
double s = 0;
fin >> n;
for(i = 1; i <= n; i++)
{
if(i < 3)
{
fin >> v[i].x >> v[i].y;
}
if(i > 3)
{
v[2] = v[3];
fin >> v[3].x >> v[3].y;
s += area(v[1],v[2],v[3]);
}
if(i == 3)
{
fin >> v[3].x >> v[3].y;
s += area(v[1],v[2],v[3]);
}
}
fout << setprecision(5) << fixed << s;
return 0;
}