Cod sursa(job #2547664)

Utilizator YusyBossFares Yusuf YusyBoss Data 15 februarie 2020 16:02:58
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <iostream>
#include <iomanip>

using namespace std;

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

struct punct {
    long double x, y;
};

punct varf[100000];

long double ariaDubla(punct vf1, punct vf2) {
    long double a;
    a = (vf2.x - vf1.x) * (vf1.y + vf2.y);
    return a;
}

int main() {
    int n, i;
    long double aria = 0;

    fin >> n;
    for(i = 0; i < n; ++i) {
        fin >> varf[i].x >> varf[i].y;
    }

    for(i = 1; i < n; ++i) {
        aria += ariaDubla(varf[i-1], varf[i]);
    }
    aria = (aria + ariaDubla(varf[n-1], varf[0])) / 2;
    if (aria < 0) aria = -aria;
    fout << setprecision(5) << fixed << aria;

    return 0;
}