Cod sursa(job #1604025)

Utilizator bullseYeIacob Sergiu bullseYe Data 17 februarie 2016 21:45:14
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <cstdio>
#include <fstream>
#include <iomanip>
#define NMAX 100010
using namespace std;

struct pack{
double x, y;
};

struct pack puncte[NMAX];
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");
    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;
}