Cod sursa(job #2417357)

Utilizator AndrulianDin Iulian Andrulian Data 29 aprilie 2019 16:11:05
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include  <fstream>
#include <iomanip>
#include <vector>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
typedef struct
{
    long double x,y;
} Punct;
vector <Punct> P;
double modul(long double x)
{
    if(x<0)
        x=-x;
    return x;
}
double Arie_triunghi(Punct a,Punct b,Punct c)
{
    return ((b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y))/2;
}
double Arie_convex( int n)
{
    long double arie=0;
    for(int i=2; i<n; i++)
        arie=arie+Arie_triunghi(P[1],P[i],P[i+1]);
    return arie;
}
int main()
{
    int n;
    fin>>n;
    for(int i=0; i<n; i++)
    {
        long double a,b;
        fin>>a>>b;
        P.push_back(Punct());
        P[i].x=a;
        P[i].y=b;
    }
    P.push_back(Punct());
    P[n]=P[0];
    fout<<fixed<<setprecision(5)<<Arie_convex(n);

}