Cod sursa(job #2889087)

Utilizator Humaru_AndreiHumaru Andrei Humaru_Andrei Data 12 aprilie 2022 11:22:25
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#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;
}