périmètre d'un polygone à n sommets
Bonsoirs tous le monde pouvez vous me dire l’erreur que j'ai dans l'appel de la fonction distance et je ne sais pas comment faire l'appel de la fonction centre polygone et merci d'avance :) .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| #include<stdio.h>
#include<math.h>
typedef struct
{
float x;
float y;
}Point;
float Distance( Point p1 , Point p2)
{
float d;
d=sqrt(pow((p1.x-p2.x),2)+pow((p1.y-p2.y),2));
return d;
}
float perimetre(Point v[100] , int n)
{
int i;
float p;
p=0;
for(i=0;i<n;i++)
{
p=p+Distance(v[i],v[i+1]);
}
return p;
}
Point centre(Point v[100] , int n)
{
float sx,sy;
int i;
Point c;
sx=0;
sy=0;
for(i=0;i<n;i++)
{
sx=sx+v[i].x;
sy=sy+v[i].y;
}
c.x=sx/n;
c.y=sy/n;
return c ;
}
main()
{
Point t[100];
int n,i;
float k;
printf("donner n:(max.100)");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("donner le x :");
scanf("%f",&t[i].x);
printf("donner le y");
scanf("%f",&t[i].y);
}
k=Distance(t,n);
printf("le perimetre est :%f",k);
return 0 ;
} |