Cod sursa(job #1871243)

Utilizator dago28Stoican Dragos dago28 Data 7 februarie 2017 11:07:09
Problema Aria Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#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+=abs((Determinant(p[i],p[i+1])))/2;
    }
    aria+=abs((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;
}