Salve a tutti, mi servirebbe aiuto per scrivere il codice di una funzione che permetta di calcolare il perimetro di un poligono. Alla quale viene passato un vettore contenete le coordinate cartesiane dei vertici del poligono. Utilizzando strutture per la rappresentazione delle coordinate cartesiane. Penso di aver capito il funzionamento, ma ho dei grossi dubbi sul modo in cui ho lavorato con gli elementi del vettore contenete le coordinate cartesiane, io ho fatto cosi:
supponendo che las struttura sia:
codice:
typedef struct coordinate {
double x, y;
}
la funzone l ho fatta cosi:
codice:
double perimetro (struct coordinate *vertici, int n)
{
int i;
double perim, *lato = 0:
lato=(double)malloc( n sizeof (double);
/*calcolo delle misure dei lati attraverso le distanze fra i vertici*/
for (i=0; i<=n; i++)
{
if (i<n) lato[i] = sqrt( (pow(vertici.x[i+1] - vertici.x [i])) - (pow(vertici.y[i+1] - vertici.y[i])));
if (i=n) lato[i]= sqrt( (pow(vertici.x[0] - vertici.x [i])) - (pow(vertici.y[0] - vertici.y[i])));
}
for (i=0; i<=n; i++)
perim= perim + lato[i];
}
return perim;
qui spero non aver scritto troppe bestialità...
vorrei sapere sei è corretto come ho lavorato con gli elementi del vettore vertici che, come ho messo sopra è un vettore di tipo struct, è una sintassi corretta?? o li dovrei adoperare diversamente?