Pagini recente » Cod sursa (job #2778044) | Cod sursa (job #1645605) | Cod sursa (job #970571) | Cod sursa (job #2337762) | Cod sursa (job #2216590)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
int N;
struct Punct
{
double x,y;
} P[100002];
void Read()
{
fin >> N;
for( int i = 1; i <= N; ++i )
fin >> P[i].x >> P[i]. y;
fin.close();
}
double Arie( Punct A, Punct B, Punct C )
{
double D = A.x * B.y + B.x * C.y + C.x * A.y -
C.x * B.y - A.x * C.y - B.x * A.y;
return D / 2;
}
void Do()
{
double Arie_poligon = 0;
Punct temp;
temp.x = 0;
temp.y = 0;
for( int i = 1; i < N; ++i )
Arie_poligon += Arie( P[i], P[i+1], temp );
Arie_poligon += Arie( P[N], P[1], temp );
fout << fixed << setprecision(6) << Arie_poligon << '\n';
fout.close();
}
int main()
{
Read();
Do();
return 0;
}