Cod sursa(job #2185194)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 24 martie 2018 13:45:48
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <cstdio>

using namespace std;
struct punct {
    double x;
    double y;
};
punct v[100001],o;
double modul (double x){
    if (x>=0)
        return x;
    return -x;
}
double arie (punct a,punct b,punct c){
    return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
}
int main()
{
    FILE *fin=fopen ("aria.in","r");
    FILE *fout=fopen ("aria.out","w");
    int i,n;
    double sol;
    fscanf (fin,"%d",&n);
    for (i=1;i<=n;i++){
        fscanf (fin,"%lf%lf",&v[i].x,&v[i].y);
    }
    o.x=o.y=1.0*0;
    sol=0;
    for (i=1;i<n;i++)
        sol+=arie(o,v[i],v[i+1]);
    sol+=arie (o,v[n],v[1]);
    fprintf (fout,"%.6lf",1.0*modul (sol)/2);
    return 0;
}