Cod sursa(job #1887558)

Utilizator VladG26Ene Vlad-Mihai VladG26 Data 21 februarie 2017 17:42:53
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <cstdio>
using namespace std;
struct punct
{
    double x,y;
}vPoligon[100005];
int n;
void citire()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%lf%lf",&vPoligon[i].x,&vPoligon[i].y);
    }
}
double calculDet(punct p1, punct p2)
{
    return (p1.x*p2.y-p2.x*p1.y);
}
void calculAriePrinPunct()
{
    double aria=0;
    for(int i=1;i<n;i++)
    {
        aria+=calculDet(vPoligon[i],vPoligon[i+1]);
    }
    aria+=calculDet(vPoligon[n],vPoligon[1]);
    aria/=2;
    printf("%.5lf",aria);
}
int main()
{
    freopen("aria.in","r",stdin);
    freopen("aria.out","w",stdout);
    citire();
    calculAriePrinPunct();
    return 0;
}