Cod sursa(job #1689305)

Utilizator andytosaAndrei Tosa andytosa Data 14 aprilie 2016 09:24:37
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");

struct punct{
    double x, y;
} v[100010];

double abs(double a){
    if(a < 0)
        return -a;
    return a;
}

double sarrus(punct a, punct b, punct c){
    return abs((a.x * b.y + a.y * c.x + b.x * c.y - c.x * b.y - b.x * a.y - a.x * c.y) / 2);
}
int n;
double aria;
int main()
{
    fin >> n;
    for(int i = 1; i <= n; ++i){
        fin >> v[i].x >> v[i].y;
    }
    for(int i = 1; i <= n - 2; ++i){
        aria += sarrus(v[i], v[i + 1], v[i + 2]);
    }
    fout << aria;
    return 0;
}