Arreglos Bidimensionales

Arreglos Bidimensionales

Declaración

#define COL 3
#define FILA 3
int mi_arreglo[FILA][COL];
              
La ventaja de esto, es que si modificamos el tamaño del arreglo desde "COL" y "FILA", todas las instancias que manipulen mi_arreglo utilizarán como tamaño COL y FILA respectivamente, y si quiero cambiar el tamaño del array alcanza con cambiar la definicion. Como está organizado un arreglo bidimensional?
int A[FILA][COL];
/*
        Columna 0 Columna 1 Columna 2 
Fila 0  A[0][0]   A[0][1]   A[0][2] 
Fila 1  A[1][0]   A[1][1]   A[1][2] 
Fila 2  A[2][0]   A[2][1]   A[2][2] 
*/
              

Operaciones Frecuentes

Podemos recorrer un arreglo de tamaño desde el primer al último elemento, columna por columna, fila por fila. Esto es de utilidad en el caso de imprimir el contenido de un arreglo, o símplemente para operar con cada elemento. Lo realizamos la siguiente forma:
for(i = 0; i < FILA; i++)
for(j = 0; j < COL; j++)
printf("%d", arreglo[i][j]);
              
Para cargar un arreglo y luego imprimir su contenido lo podemos hacer de la siguiente manera:
for(i = 0; i < FILA; i++)
  for(j = 0; j < COL; j++)                   
    { 
      printf("Ingrese el elemento[%d,%d]:", i, j);
      scanf("%d", arreglo[i][j]);
    }
for(i = 0; i < FILA; i++)
  for(j = 0; j < COL; j++)                   
    printf("El elemento [%d,%d] del arreglo es: %d\n", i, j, arreglo[i][j]);
              

Problemas Resueltos

1) Realizar un programa que cargue en un arreglo bidimensional de tamaño FILA y COL (donde FILA = COL) primeros 99 números naturales mas el cero. Luego que imprima el contenido del arreglo en pantalla.
Solución.

2) Realizar un programa que cargue en un arreglo bidimensional de tamaño FILA y COL, los primeros 100 números (naturales mas el cero) pares. Luego que imprima el contenido del arreglo en pantalla.
Solución.