Cod sursa(job #1887581)

Utilizator B_RazvanBaboiu Razvan B_Razvan Data 21 februarie 2017 17:53:02
Problema Aria Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <cstdio>
#include <vector>

using namespace std;

int n;
struct puncte
{
    double x, y;
}v[100005];

void read()
{
    scanf("%d", &n);
    for(int i=1; i<=n; ++i)
        scanf("%lf %lf", &v[i].x, &v[i].y);
}

double ariaTriunghiuri()
{
    double aria=0;
    for(int i=1; i<n; ++i)
    {
        aria+=v[i].x*v[i+1].y-v[i+1].x*v[i].y;
    }
    aria+=v[n].x*v[1].y-v[1].x*v[n].y;
    return (double) 0.5*aria;
}

double ariaTrapeze()
{
    double aria=0;
    for(int i=1; i<n; ++i)
    {
        aria+=(v[i].y+v[i+1].y)*(v[i].x-v[i+1].x);
    }
    return (double) 0.5*aria;
}

int main()
{
    freopen("aria.in", "r", stdin);
    freopen("aria.out", "w", stdout);
    read();
    //printf("%.5lf", ariaTriunghiuri());
    printf("%.5lf", ariaTrapeze());
    return 0;
}