Arrays multidimensionales: Tablas

Una tabla en un array bidimensional. La primera dimensión indica el número de filas y el segundo el número de columnas.

int tabla[3][4];

Hemos definido una tabla de enteras con 3 filas y 4 columnas, por tanto tenemos 12 elementos.

Para acceder a cada uno de lo elemento tenemos que indicar la fila y la columna en la que se encuentra, siempre empezando por el 0. Por ejemplo para inicializar el elemento que esta en la primera fila y la segunda columna sería:

tabla[0][1] = 10;

El acceso a un elemento que no existe no producirá un error.

Recorrido de una tabla

Para recorrer todos los elementos de una tabla necesitamos utilizar dos bucles anidados. Normalmente el exterior nos va a permitir recorrer las filas y el interior las columnas. Por ejemplo para inicializar todos los elementos a 0, quedaría:

for(filas=0;filas<3;filas++)
{
	for(columnas=0;columnas<4;columnas++)
    {
		tabla[filas][columnas]=0;
    }
}

De forma similar podríamos recorrer la tabla para mostrar los elementos:

for(filas=0;filas<3;filas++)
{
	for(columnas=0;columnas<4;columnas++)
    {
		cout << tabla[filas][columnas];
    }
}

Ejemplo

Inicializar una tabla con los números del 1 al 5, sus cuadrados y sus cubos. Por lo tanto tenemos que definir una tabla con 5 filas y 3 columnas. Muestra los datos:

#include <iostream>
#include <cmath>
using namespace std;

int main(int argc, char *argv[]) {
	int tabla[5][3];
    int filas,columnas;
	for(filas=0;filas<5;filas++)
    {
		tabla[filas][0]=filas+1;
		tabla[filas][1]=pow(filas+1,2);
		tabla[filas][2]=pow(filas+1,3);
	}
	
    for(filas=0;filas<5;filas++)
    {
	    for(columnas=0;columnas<3;columnas++)
        {
			cout << tabla[filas][columnas] << " ";
		}
		cout << endl;
	}
    return 0;
}

Arrays multidimensionales

Los arrays pueden tener las dimensiones que deseemos, por ejemplo podemos tener una array de tres dimensiones:

int tabla[4][4][4];

Y podríamos inicializar el primer elemento como:

tabla[0][0][0]=10;

Necesitaríamos tres bucles para recorrer un array de tres dimensiones:

for(i=0;i<4;i++)
{
	for(j=0;j<4;j++)
    {
		for(k=0;k<4;k++)
        {
			tabla[i][j][k]=0;
		}
	}
}

Updated: