4. Funciones con arrays bidimensionales

En realidad, los arrays de cadenas son arrays bidimensionales  lo que sucede es que en su tratamiento pocas veces es necesario el doble bucle for. Solamente cuando es necesario el tratamiento carácter a carácter como hemos podido ver en las funciones 2.2.16 y 2.2.17. Otro ejemplo de tratamiento de datos que formalmente son arrays bidimensionales pero que su tratamiento no lo parece, lo tenemos en el siguiente ejemplo.

 
4.1 Estructura de Datos Polígono

Un Punto es un vector de coordenadas que puede ser representado como un array de reales. El tamaño del array nos indicará la dimensión en la que se encuentra el Punto. Si el array tiene dos coordenadas el Punto estará en el plano, si su tamaño es tres, entonces será un punto en el espacio, y así sucesivamente. Una vez definido el tipo Punto podemos definir el tipo Poligono como un array de Punto. El tamaño del array nos dirá el número de puntos que conforma el polígono. De esta manera un Poligono es entonces un array bidimensional de np filas y n columnas, donde np es el número de puntos que forman el polígono (tres indica triangulo, cuatro cuadrilátero, etc) y n la dimensión del espacio. Cada fila del array bidimensional son las coordenadas de un punto. De esta manera el valor (i,j) del array bidimensional es la coordenada j del punto i.


4.1.1 Declare las estructuras Punto y Poligono para guardar como máximo 10 puntos en 5 dimensiones:







4.1.2 Función tal que dado un entero n, lee un Punto de n coordenadas









4.1.3 Función que lee un entero n y posteriormente un Punto de n coordenadas. Nótese como es necesario devolver las dimensiones del Punto o tamaño del array leído.











4.1.4 Función tal que dados dos puntos devuelve el punto medio de ambos.










4.1.5 Función tal que dados dos puntos devuelve la distancia euclidea entre ambos. Nótese las diferencias con la función 1.2.2 que resuelve un caso particular para dos dimensiones.










4.1.6  Función tal que dado un punto imprime en pantalla entre corchetes sus coordenadas separadas por blancos.










4.1.7  Función tal que dados dos enteros nv y nd y reusando la función 3.1.2 lea un Poligono formado por nv vértices en nd dimensiones.









4.1.8  Función tal que dados dos enteros nv y nd y reusando la función 3.1.6 imprima en pantalla las coordenadas de un Poligono de nv vértices en nd dimensiones.









4.1.9 Función tal que dado un Poligono devuelve su perímetro. Es evidente que como pasa en los arrays bidimensionales es necesario incluir como argumentos de entrada, el número de puntos o vértices (np) que constituyen el polígono y la dimensión o número de coordenadas de los mismos (n).  El perímetro se calculará como la suma de las distancia entre el punto 0 y el punto 1, más la distancia del punto 1 al 2, más la distancia del 2 al 3 y así sucesivamente más la distancia entre  el punto np-2 y np-1 (último punto). Para finalizar habrá que sumar la distancia entre el último punto y el primero, esto es la distancia entre el punto np-1 y el punto 0:


 

No hay comentarios:

Publicar un comentario