AYUDA PERIMETRO DE UN POLIGONO USANDO ESTRUCTURAS Y FUNCIONES
Publicado por MARCO ANTONIO (1 intervención) el 26/11/2015 01:40:43
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
typedef struct{
float x,y;
}coord;
typedef struct{
int nvert;
coord v[20];
float peri;
}poli;
poli PoliCaptura(void);
float PoliPeri(poli x);
float Dist(coord A, coord B);
float Dist2(coord A, coord B);
int main (void){
poli p; float peri;
p = PoliCaptura();
peri = PoliPeri(p);
printf("El perimetro es %.2f ", peri);
getch();
return 0;
}
poli PoliCaptura (void){
poli x;
int k;
printf ("Digita el numero de vertices (MAYOR A 2): ");
scanf ("%d",&x.nvert);
fflush(stdin);
for (k=0; k<x.nvert; k++){
printf("\n\nCoordenadas del vertice %d", k+1);
printf("\n\nx: ");
scanf("%d",&x.v[k].x);
fflush(stdin);
printf("\n\ny: ");
scanf("%d",&x.v[k].y);
fflush(stdin);
}
return x;
}
float PoliPeri(poli x){
int k;
float peri;
for (k=0; k<x.nvert-1;k++){
x.peri = x.peri + Dist (x.v[k], x.v[k+1]);
}
x.peri = x.peri + Dist2 (x.v[k], x.v[0]);
return x.peri;
}
float Dist (coord A, coord B){
float pp;
pp = pow((B.x - A.x), 2) + pow((B.y - A.y), 2);
pp = sqrt(pp);
return pp;
}
float Dist2 (coord A, coord B){
float pp;
pp = pow((B.x - A.x), 2) + pow((B.y - A.y), 2);
pp = sqrt(pp);
return pp;
}
Valora esta pregunta


0