Pagini recente » Istoria paginii runda/bolt/clasament | Cod sursa (job #831291) | Monitorul de evaluare | Cod sursa (job #2912695) | Cod sursa (job #1871246)
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
struct Puncte
{
double x;
double y;
}p[100001];
void Citire(int &n)
{
scanf("%d\n",&n);
for (int i=0;i<n;i++)
{
scanf("%lf %lf\n",&p[i].x,&p[i].y);
}
}
double Determinant(Puncte a, Puncte b)
{
double Det;
Det=(a.x * b.y)-(b.x)*(a.y);
return Det;
}
void Rezolvare(int n)
{
double aria=0;
for (int i=0;i<n;i++)
{
aria+=(Determinant(p[i],p[i+1]))/2;
}
aria+=(Determinant(p[n-1],p[0]))/2;
printf ("%lf", fabs (aria));
}
int main()
{
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
int n;
Citire(n);
Rezolvare(n);
return 0;
}