Cod sursa(job #1796499)

Utilizator Balescu_OvidiuBalescu Ovidiu-Gheorghe Balescu_Ovidiu Data 3 noiembrie 2016 15:57:37
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
struct point{
    double x,y;
}*poligon;
double det(point a,point b){
    return a.x*b.y-b.x*a.y;
}
int main(){
    freopen("aria.in","r",stdin);
    unsigned long n;
    scanf("%lu",&n);
	poligon=(point*)malloc((n+1)*sizeof(point));
    for(unsigned long i=0;i<n;i++)
        scanf("%lf %lf",&poligon[i].x,&poligon[i].y);
    fclose(stdin);
    double surface=0;
	poligon[n]=poligon[0];
	for(unsigned long i=0;i<n;i++)
        surface+=det(poligon[i],poligon[i+1]);
    freopen("aria.out","w",stdout);
    printf("%.5lf",fabs(surface/2.0));
    fclose(stdout);
    return 0;
}