Pagini recente » Cod sursa (job #1218549) | Cod sursa (job #142950) | Cod sursa (job #1633743) | Monitorul de evaluare | Cod sursa (job #1029158)
#include <fstream>
#include <iostream>
using namespace std;
struct _point { long x,y;};
typedef struct _point point;
class PolygonArea {
public:
ifstream I;
ofstream O;
long n;
point p[100000];
double area;
void read() {
I >> n;
for(long i=0;i<n;i++){
point q;
I >> q.x >> q.y;
p[i].x = q.x;
p[i].y = q.y;
};
p[n].x = p[0].x;
p[n].y = p[0].y;
};
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();
};