Cod sursa(job #2547670)

Utilizator iuliiaiulia scarlat iuliia Data 15 februarie 2020 16:07:15
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;

}