Cod sursa(job #2338605)

Utilizator VadimCCurca Vadim VadimC Data 7 februarie 2019 17:22:03
Problema Aria Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

ifstream fin("aria.in");
ofstream fout("aria.out");

#define NMax 100010

struct Punct{
	double x, y;
};

typedef Punct Poligon[NMax];

int n;
Poligon P;

void citire();
double aria(Poligon &);
double abs(double x) {return (x < 0) ? -x : x;}

int main(){
	citire();
	fout << setprecision(5) << aria(P);
}

void citire(){
	int i;
	fin >> n;
	for(i = 1; i <= n; i++) fin >> P[i].x >> P[i].y;
	P[0] = P[n];
	P[n + 1] = P[1];
}

double aria(Poligon & P){
	int i;
	double a = 0;
	for(i = 1; i <= n; i++)
		a += P[i].x * (P[i + 1].y - P[i - 1].y);
	return abs(a) / 2;
}