Cod sursa(job #1801636)

Utilizator bullseYeIacob Sergiu bullseYe Data 9 noiembrie 2016 13:51:52
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <cstdio>
#include <fstream>
#include <iomanip>
#define NMAX 100010

using namespace std;

struct pack{
double x, y;
};

struct pack puncte[NMAX];
unsigned int n;
long double arie;

void read();
void solve();
void result();

int main(){
    read();
    solve();
    result();
    return 0;
}

void read(){
    FILE*fin=fopen ("aria.in", "r");
    unsigned int i;

    fscanf(fin, "%d", &n);
    for (i=1; i<=n; ++i)
        fscanf(fin, "%lf %lf", &puncte[i].x, &puncte[i].y);
    fclose(fin);
    return;
}

void solve(){
    int i;
    puncte[n+1]=puncte[1];
    for (i=1; i<=n; ++i)
        arie+=(puncte[i].x*puncte[i+1].y - puncte[i+1].x*puncte[i].y);
    arie/=2.0;
    return;
}

void result(){
    ofstream fout ("aria.out");
    fout<<setprecision(5)<<fixed<<arie<<"\n";
    fout.close();
    return;
}