5.8)Vectores Bidimensionales y N-dimensionales.Un vector bidimensional es un vector cuyos elementos son a su vez vectores, es decir, un "vector de vectores". Se le llama normalmente matriz.
Para hacer referencia a un elemento de un vector que, a su vez, es elemento de otro vector se utiliza el doble índice X[i] [j] donde:
Veámoslo gráficamente:
- X es el nombre del vector bidimensional,
- [i] hace referencia al vector elemento almacenado en la posición i,
- [j] hace referencia al elemento almacenado en la posición j del vector X[i].
AQUI VA UN GRAFICO DE UN ARRAY BIDIMENSIONAL.
Para entenderlo de una manera más clara, los vectores bidimensionales se representan en forma de una conjunto de filas y columnas denominado matriz. La declaración de vectores bidimensionales será:
donde:tipo_dato nombre_vector[rango1] [rango2];Veamos un ejemplo de las dos formas de declarar y asignar valores a un vector bidimensional:
- tipo_dato será cualquier tipo de dato simple o estructurado,
- nombre_vector será el nombre de la variable de tipo vector,
- rango1, rango2 serán constantes enteras, que determinan número de filas y número de columnas.
La regla a seguir para la asignación de valores es que el segundo índice (el de más a la derecha) es el que se incrementa más rápidamente, y el primer índice (el de más a la izquierda) es el que incrementa más lentamente. Luego, los elementos de un vector bidimensional deben ser asignados por filas .
Otro ejemplo:
La declaración de argumentos formales
en la cabecera de la función debe incluir especificaciones explícitas
de rango2, pudiendo dejar vacío rango1.
tipo_dato nombre_función (tipo_dato nombre_vector [ ] [rango2])
El paso de argumentos se realiza por referencia.
Por ejemplo, para el caso de vectores tridimensionales se utilizan tres índices, cada uno de ellos representa una nueva dimensión:
En general, la declaración de vectores
multidimensionales será:
Por ejemplo, la declaración :
- tipo_dato será cualquier tipo de dato simple o estructurado,
- nombre_vector será el nombre de la variable de tipo vector,
- rango1, rango2 ... rangoN serán constantes enteras, que determinan el tamaño de cada una de las dimensiones del vector.
se puede ver como un conjunto de 100 tablas
o vectores bidimensionales, cada uno con 66 filas y 255 columnas (por tanto,
100*66*255=1683000 elementos). Para asignar valores, el indice de la derecha
será el que se incremente más rápidamente.