Cod sursa(job #1893328)

Utilizator Aquaryus0Alexandru Benchea Aquaryus0 Data 25 februarie 2017 16:58:11
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <cmath>
#include <cstdio>

using namespace std;
const int L = 100000;

int n;
long  double arie;

struct puncte
{
    double x;
    double y;
}puncte[L];

void read()
{
    scanf("%d", &n);
    for(int i=0; i<n; i++)
        scanf("%lf %lf", &puncte[i].x, &puncte[i].y);
}

double arie_triunghi(double x, double y, double x2, double y2)
{
    return 0.5*(x*y2 - x2*y);
}

void arie_totala()
{
    for(int i=0; i<n-1; i++)
        arie += arie_triunghi(puncte[i].x, puncte[i].y, puncte[i+1].x, puncte[i+1].y);
    arie+= arie_triunghi(puncte[n-1].x, puncte[n-1].y, puncte[0].x, puncte[0].y);
}

int main()
{
    freopen("aria.in", "r", stdin);
    //freopen("aria.out", "w", stdout);
    read();
    arie_totala();
    cout<<arie;
}