Pagini recente » Rating Vlad N. (ursuletzu_79) | Cod sursa (job #1858120) | Cod sursa (job #959941) | Cod sursa (job #2806181) | Cod sursa (job #2889087)
#include <fstream>
using namespace std;
ifstream fin ("poligon.in");
ofstream fout ("poligon.out");
struct nod
{
/* data */
float x,y;
nod * urm;
};
typedef struct nod* lista;
float cacluleazaAria(lista prim);
int main()
{ int i;
int n;
float x,y;
lista prim = new nod;
lista p = prim;
fin >> n;
fin >> x >> y;
p->x = x;
p->y = y;
p ->urm = prim;
for (i = 1; i<n; i++)
{ fin >> x >> y;
lista temp = new nod;
temp->x = x;
temp->y = y;
temp->urm = prim;
p ->urm = temp;
p = p->urm;
}
fout << cacluleazaAria(prim) << '\n';
return 0;
}
float cacluleazaAria(lista prim){
float aria = 0;
lista p = prim;
do
{
aria += (p->x * p->urm->y - p->urm->x * p->y);
p = p-> urm;
}while(p != prim);
return aria/2;
}