Cod sursa(job #1294848)
| Utilizator | Data | 18 decembrie 2014 12:11:16 | |
|---|---|---|---|
| Problema | Aria | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
int n, i;
double A;
struct punct{
double x;
double y;
}a[100010];
double arie( punct O, punct a, punct b)
{
double A = (a.x - O.x) * (b.y - a.y) - (a.y - O.y) * (b.x - a.x);
return A / 2;
}
int main()
{
fin >> n;
for(i = 1; i <= n;i ++)
fin >> a[i].x >> a[i].y;
for(i = 1; i < n; i ++)
A += arie(a[1],a[i],a[i + 1]);
fout << fixed << setprecision(6) << A;
return 0;
}
