Pagini recente » Cod sursa (job #2608323) | Cod sursa (job #667204) | Cod sursa (job #1197270) | Cod sursa (job #212555) | Cod sursa (job #920683)
Cod sursa(job #920683)
#include <fstream>
#include <iomanip>
using namespace std;
const char InFile[]="aria.in";
const char OutFile[]="aria.out";
ifstream fin(InFile);
ofstream fout(OutFile);
struct Point
{
long double x,y;
};
int N;
long double area;
Point Pi,Pi1,P1,O;
inline double Det(const Point &A, const Point &B, const Point &C)
{
return (B.x-A.x)*(C.y-A.y)-(B.y-A.y)*(C.x-A.x);
}
inline double Abs(const double &x)
{
if(x<0)
{
return -x;
}
return x;
}
int main()
{
fin>>N;
fin>>P1.x>>P1.y;
Pi=P1;
for(register int i=2;i<=N;++i)
{
Pi1=Pi;
fin>>Pi.x>>Pi.y;
area+=Det(O,Pi1,Pi);
}
area+=Det(O,Pi,P1);
fin.close();
area=Abs(area);
area*=0.5;
fout<<fixed<<setprecision(10);
fout<<area;
fout.close();
return 0;
}