Cod sursa(job #1171804)

Utilizator roxana.istratePoenaru Roxana roxana.istrate Data 16 aprilie 2014 13:21:45
Problema Aria Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <vector>
#include <stdlib.h>
#include <iomanip> 
#include <cmath>
#define max 1000000
using namespace std;

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

int N;
vector< pair<double,double> > points;

double tri_area(pair<double, double> p1, pair<double,double> p2){
	
	return p1.first * p2.second - p2.first * p1.second;
}

double find_area(){
	double area = 0;
	for(int i = 0; i < N-1; i++){
		area += tri_area(points[i],points[i+1]);
	}
	area += tri_area(points[N-1], points[0]);
	return abs(area)/2;
}

int main(){
	fin >> N;
	double x, y;
	// aleg arbitrar (0, 0)
	for(int i = 0; i < N; i++){
		fin >> x >> y;
		points.push_back(make_pair(x,y));
	}
	fout << std::setprecision(5) << find_area() << "\n";
	return 0;
}