Cod sursa(job #1887113)

Utilizator mihaiperjuMihai Perju mihaiperju Data 21 februarie 2017 12:52:40
Problema Aria Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <math.h>
#include <iomanip>
#include <stdio.h>

using namespace std;

//ifstream fin("aria.in");
//ofstream fout("aria.out");
FILE*fin=fopen("aria.in","r");
FILE*fout=fopen("aria.out","w");

struct punct{
    double x;
    double y;
}*a;

int n;

double determinant(int i)
{
    double x1,x2,x3,y1,y2,y3;

    x2=a[i].x;
    y2=a[i].y;

    x3=a[i+1].x;
    y3=a[i+1].y;

    return x2*y3 - x3*y2;

}

int main()
{
    //fin>>n;

    fscanf(fin,"%d",&n);
    a= new punct[n+1];

    for(int i=0;i<n;i++)
        //fin>>a[i].x>>a[i].y;
        fscanf(fin,"%lf%lf",&a[i].x,&a[i].y);

    double area=0;
    a[n]=a[0];

    for(int i=0;i<n;i++)
        area+=determinant(i);

    fprintf (fout,"%lf", fabs (area / 2.0));

    return 0;
}