Cod sursa(job #1367212)

Utilizator LucacelRazvanLucacel Razvan LucacelRazvan Data 1 martie 2015 18:06:15
Problema Aria Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <limits>
#define Dmax 100001
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");

int n;
struct Nod
{
    double x;
    double y;
}G[Dmax];

void Citire()
{
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>G[i].x>>G[i].y;
    G[n+1].x=G[1].x; G[n+1].y=G[1].y;
}

double Aria()
{
    double A=0;
    for(int i=1;i<=n;i++)
    {
        A=A+((G[i].x*G[i+1].y) - (G[i+1].x*G[i].y))/2;
    }
    return A;
}
int NRCIF(double a)
{
    int c=0;
    int b= (int) a;
    while(b)
    {
        b/=10;
        c++;
    }
    return c;
}

int main()
{
    Citire();
    fout.precision(NRCIF(Aria())+6);
    fout<<Aria();
    return 0;
}