// II17 2005-06 // Tema1/Poligono.cpp // 14-10-2005 #include using namespace std; #include "Poligono.h" Poligono ConstruirPoligono () { Poligono p; p.numVertices = 0; p.vertices = NULL; return p; } void VerPoligono(Poligono p){ cout << "{"; for (int i=0; i < p.numVertices; i++) VerPunto(p.vertices[i]); cout << "}"; } void LeerPoligono(Poligono & p) { LiberarPoligono(p); cout << "Digame el numero de vertices: "; cin >> p.numVertices; p.vertices = new Punto[p.numVertices]; for (int i = 0; i < p.numVertices; i++) { cout << "Digame las coordenadas del vertice " << i+1 <<":" << endl; LeerPunto(p.vertices[i]); } } void TrasladarPoligono(Poligono & p, float tx, float ty){ for (int i = 0; i < p.numVertices; i++) TrasladarPunto(p.vertices[i], tx, ty); } float PerimetroPoligono (Poligono p){ if (p.vertices == NULL) return 0; float perimetro = Distancia(p.vertices[p.numVertices-1], p.vertices[0]); for (int i = 0; i < p.numVertices -1; i++) perimetro += Distancia (p.vertices[i], p.vertices[i+1]); return perimetro; } void LiberarPoligono (Poligono &p) { delete [] p.vertices; p.vertices = NULL; p.numVertices = 0; }