Calcolo area con formula di erone

di il
6 risposte

Calcolo area con formula di erone

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)));
}

6 Risposte

  • Re: Calcolo area con formula di erone

    Concludi la domanda ... cosa succede? Errori? Malfunzionamenti? Quali dati inserisci? Cosa succede?

    Utilizza i tag CODE e indenta il codice quando lo posti nel forum ...

    Comunque, qui appare evidentemente sbagliata la linea

    for(i=i;i<N;i++)
  • Re: Calcolo area con formula di erone

    Ahahahahahaha volevo mettere 1 e ho messo i, grazie, da solo non l' avrei mai notato! ma comunque non va, compila ma l' area rimane al valore di inizializzazione ovvero 0.000
  • Re: Calcolo area con formula di erone

    A parte la linea

    printf("%f",&area);

    sbagliata (non va &) non ho capito come inserisci le coordinate x e y dei vertici.
  • Re: Calcolo area con formula di erone

    Onestamente non lo so neanche io, le struct mi risultano un qualcosa di criptico e misterioso
  • Re: Calcolo area con formula di erone

    Beh, allora la vedo male ...

    L'input devi farlo con

    scanf("x: %f",&poligono.x);
    scanf("y: %f",&poligono.y);

    Ma non è solo quello ... usi N nel ciclo in cui dovresti usare dim ... e sono da controllare tutti gli indici nelle varie for perché a prima vista non sono corretti ...

    Devi chiarire come hai applicato le varie formule e impostato l'algoritmo ... controlla in debugging l'esecuzione passo passo ...

    Il codice è confuso, su più righe scrivi molte istruzioni, l'indentazione non esiste ...
  • Re: Calcolo area con formula di erone

    Ok, questo lo provo a rifare da capo
Devi accedere o registrarti per scrivere nel forum
6 risposte