Está en la página 1de 2

PROGRAMACIÓN

Arreglos Multidimensionales
Matrices

Arreglos multidimensionales pueden ser descritos como arreglos de arreglos.


Por ejemplo, un arreglo bidimensional se puede imaginar como una tabla
bidimensional de un tipo de dato concreto y uniforme.

matriz

matrizrepresenta un arreglo bidimensional de 3 por 5 valores de tipo int. La


manera de declarar este arreglo sería:
int matriz [3][5];
y por ejemplo, la manera de referenciar el segundo elemento verticalmente y
cuarto horizontalmente en una expresión sería:
matriz[1][3]

matriz

matriz [1][3]

(recuerde que los índices de un arreglo siempre comienzan por 0).

Los Arreglos multidimensionales no están limitados a dos índices (dos


dimensiones). Pueden contener tantos índices como sea necesario, aunque es
raro tener que representar más de 3 dimensiones. Solo considere la cantidad
de memoria que un arreglo con muchos índices puede requerir. Por ejemplo:
char century [100][365][24][60][60];

assigna un char para cada segundo contenido en un siglo, que es más de 3 mil
millones de chars! Esto consumiría cerca de 3000 megabytes de memoria
RAM si pudiéramos declararlo.

Los arreglos multidimensionales no son más que una abstracción, ya que


podemos obtener los mismos resultados con un simple arreglo poniendo un
factor entre sus indices:

int matriz [3][5]; es equivalente a


int vector [15]; (3 * 5 = 15)

Pedro Núñez Yépiz Página 1


PROGRAMACIÓN

Con la salvedad de que el compilador recuerda por nosotros la profundidad de


cada dimensión imaginaria. Sirva como ejemplos estos dos códigos, con el
mismo resultado, uno usando arreglos bidimensional es y el otro usando solo
arreglos simples:

// Arreglos multidimensionales

#include <stdlib.h>
#include <stdio.h>

#define COLUMNA 5
#define RENGLON 3

int matriz [RENGLON][COLUMNA];


int i,j;

int main ()
{
for (i=0;i < RENGLON; i++)
{
for (j=0;j < COLUMNA; j++)
{
matriz[i][j]=(i+1)*(j+1);
}
}
return 0;
}

Este programa no produce salida por la pantalla, pero asigna valores al bloque
de memoria llamado matriz de la siguiente manera:

matriz

Hemos usado constantes definidas (#define) para simplificar posibles


modificaciones futuras del programa, por ejemplo, en caso de que decidamos
aumentar el arreglo a una altura de 4 en vez de 3 podríamos hacerlo
cambiando la línea:
#define RENGLON 3
por
#define RENGLON 4
sin necesidad de hacer otra modificación al programa.

Pedro Núñez Yépiz Página 2

También podría gustarte