Cod sursa(job #2515911)

Utilizator maria_neagoieMaria Neagoie maria_neagoie Data 29 decembrie 2019 19:18:11
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <cstdio>
#include <cmath>
using namespace std;
const int NMAX=100005;
struct POINT
{
    long double x,y;
};
POINT P[NMAX];
long double aria_tr_semn(POINT P1,POINT P2,POINT P3)
{
    long double arie;
    arie=0.5*((P2.x-P1.x)*(P3.y-P2.y)-(P2.y-P1.y)*(P3.x-P2.x));
    return arie;
}
long double aria_poligon(POINT P[NMAX],int n)
{
    int i;
    long double arie=0;
    for(i=2;i<n;i++)
        arie=arie+aria_tr_semn(P[1],P[i],P[i+1]);
    arie=fabs(arie);
    return arie;
}
int main()
{
    freopen("aria.in","r",stdin);
    freopen("aria.out","w",stdout);
    int n,i;
    long double tempx,tempy,arie_poligon;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%Lf%Lf",&tempx,&tempy);
        P[i].x=tempx;
        P[i].y=tempy;
    }
    arie_poligon=aria_poligon(P,n);
    printf("%Lf",arie_poligon);
    return 0;
}