Cod sursa(job #2298326)

Utilizator Tataru_AdelinTataru Adelin Tataru_Adelin Data 7 decembrie 2018 23:57:31
Problema Aria Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;

class Punct
{
public:
    double x;
    double y;

public:
    void initialize(double X, double Y)
    {
        x = X;
        y = Y;
    }

    Punct()
    {}

    Punct(double x, double y)
    {
        initialize(x, y);
    }
};

double arie(Punct a, Punct b)
{
    return (a.x * b.y - b.x * a.y);
}

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

int main()
{
    int n;
    fin>>n;

    vector <Punct> dots(n + 1);
    double x, y;
    for(int i = 0; i < n; i++)
    {
        fin>>x>>y;
        dots[i] = Punct(x, y);
    }

    dots[n] = dots[0];

    double sum = 0;

    for(int i = 0; i < n; i++)
    {
        sum += arie(dots[i], dots[i + 1]);
    }

    sum = fabs(sum);
    sum /= 2;

    fout<<fixed<<setprecision(6)<<sum<<'\n';



    return 0;
}