Non potete capire quanto sia disperato, l' esame si avvicina e non mi esce nemmeno un programma. Con questo devo calcolare l' area di un poligono con la formula di erone
#include<math.h>
#include<stdio.h>
#define N 100
typedef struct{float x;float y;}punto;
float dist(punto p1, punto p2);
float perim(punto poligono[],int dim);
float erone(punto p1, punto p2, punto p3);
int main()
{char inutile;
punto poligono[N];
int dim,i;
float area=0.0;
typedef struct{float x;float y;}punto;
printf("inserire le dimensioni del poligono\n");
scanf("%d",&dim);
for(i=0;i<2*dim;i++)
{fflush(stdin);printf("inserire coordinate vertici\n");
scanf("%f",&poligono);
fflush(stdin);}
for(i=2;i<dim;i++)
{area=area + erone(poligono[0],poligono,poligono[i-1]);
}
printf("%f",&area);
fflush(stdin);
scanf("%c", &inutile);
return 0;}
float dist(punto p1, punto p2)
{return sqrt(pow(p1.x-p2.x,2)+pow(p2.y-p1.y,2)) ;}
float perim(punto poligono[],int dim)
{int i; float per=0.0;
for(i=i;i<N;i++)
{per=per+dist(poligono[i-1],poligono);};
return per+dist(poligono[0],poligono[dim-1]);
}
float erone(punto p1, punto p2, punto p3)
{punto tri[3];float p;
tri[0]=p1; tri[1]=p2; tri[2]=p3;
p=0.5 * perim(tri,3);
return sqrt(p*(p-dist(p1,p2))*(p-dist(p2,p3))*(p-dist(p1,p3)));
}