Cod sursa(job #1683978)

Utilizator Coroian_DavidCoroian David Coroian_David Data 10 aprilie 2016 18:05:53
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>
#include <cstdio>
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
//ofstream g("aria.out");
FILE *f, *g;
double aria;
double modul(double a)
{
    if(a < 0)
        return -a;
    return a;
}
int n, i ;
double x[100003], y[100003];
int main()
{
    f = fopen("aria.in", "r");
    g = fopen("aria.out", "w");

    fscanf(f, "%d", &n);
    for(i = 1 ;i <= n; i ++)
    {
        fscanf(f, "%lf%lf", &x[i], &y[i]);
        //cout << x[i] << " " << y[i] << '\n';
    }
    x[n + 1] = x[1];
    y[n + 1] = y[1];
    for(i = 1; i <= n ; i ++)
    {
        aria += ( (((x[i] * y[i + 1]) - (x[i + 1] * y[i ]))));
       // printf("%f %f %f %f\n",  x[i] , x[i + 1] , y[i] , y[i + 1]);
    }

//    1/2*modul((x1-x2)*(y1+y2) + (x2-x3)*(y2+y3) + ... + (x(n-1)-xn)*(y(n-1)+yn) + (xn-x1)*(yn+y1))
    fprintf(g, "%lf", aria / 2.0D);
    fclose(f);
    fclose(g);
    return 0;
}