Cod sursa(job #1029154)

Utilizator stefan.petreaStefan Petrea stefan.petrea Data 15 noiembrie 2013 01:24:07
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.08 kb
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
struct _point { long x,y;};
typedef struct _point point;

class PolygonArea {
    public:
        ifstream I;
        ofstream O;
        long n;
        vector<point> p;
        double area;
        void read() {
            I >> n;
            for(long i=0;i<n;i++){
                point q;
                I >> q.x >> q.y;
                p.push_back(q);
            };
            p.push_back(p[0]);
        };
        void solve() {
            area = 0;
            for(long i=0;i<n;i++){
                //cout << p[i].x << p[i].y<<endl;;
                area += p[i].x * p[i+1].y - p[i+1].x * p[i].y;
            };
            area /= 2;
            if(area<0)
                area = -area;
            //cout << area << endl;
            O.precision(5);
            O.setf( std::ios::fixed, std::ios::floatfield );
            O << area;
        };
        PolygonArea() : I("arie.in"), O("arie.out") {
        };
        ~PolygonArea() {
        };
};

int main(){
    PolygonArea u;
    u.read();
    u.solve();
};