Arreglos Bidimensionales
 Un arreglo bidimensional es un array de arrays
unidimensionales.
 Se puede visualizar a un arreglo bidimensional como
una matriz con filas y columnas. El primer índice
indica la fila y el segundo indica la columna.
 Los arreglos de dos dimensiones se declaran de
acuerdo al esquema
 tipo variable[filas][columnas];
 Ejemplo
 int a[5][4];
a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]
a[3][0] a[3][1] a[3][2] a[3][3]
a[4][0] a[4][1] a[4][2] a[4][3]
Declaración
1
Arreglos Bidimensionales
• Una matriz bidimensional tiene la forma sigui
ente:
a11 a12 ............ a1n
a21 a22 ............ a2n
.....................
am1 am2 ............ amn
• Para acceder al dato aij se hace de la
manera siguiente:
c=a[i][j];
Inicialización
 int a[5][4] =
{{2,3,4,2},{2,0,6,1},{3,5,5,0},{2,2,
1,1},{3,2,5,6}};
2 3 4 2
2 0 6 1
3 5 5 0
2 2 1 1
3 2 5 6
int a[5][4] = {{2,3},{1},
{3,5,5,0},{2},{3}};
2 3 0 0
1 0 0 0
3 5 5 0
2 0 0 0
3 0 0 0
Inicialización
Ejemplo 1
 #include <conio.h>
 #include <stdio.h>
 void main()
 {
 int matriz[5][5], contador=0;
 // Asigno un contador a cada elemento de la matriz
 for(int i=0;i<5;i++)
 {
 for(int j=0;j<5;j++)
 {
 matriz[i][j]=contador++;
 }
 }
 printf("Impresión de la matriz...n");
 for( i=0;i<5;i++)
 {
 for(int j=0;j<5;j++)
 {
 printf("%dt",matriz[i][j]);
 }
 printf("n");
 }
 printf("Gracias");
 }
Ejemplo 2
 #include <conio.h>
 #include <stdio.h>
 void main()
 {
 //Iniciliza una matriz. Al igual que los arreglos la matriz puede tomar valores iniciales
 //y no necesariamente deben inicializarse todos los elementos
 int matriz[5][5]={{1,10,20},{40,17,25, 18, 19},{18,19,20, 27},{1}};

 printf("Impresión de la matrizn");
 for(int i=0;i<5;i++)
 {
 for(int j=0;j<5;j++)
 {
 printf("%dt",matriz[i][j]);
 }
 printf("n");
 }
 printf("Gracias");
 }
Ejemplo 3
 #include <conio.h>
 #include <stdio.h>
 void imprimir(int matriz[][3])
 {
 for(int i=0;i<3;i++)
 {
 for(int j=0;j<3;j++)
 {
 printf("%dt",matriz[i][j]);
 }
 printf("n");
 }
 }
void leer_matriz(int matriz[][3])
 {
 for(int i=0;i<3;i++)
 {
 for(int j=0;j<3;j++)
 {
 printf("Ingrese el elemento:[%d][%d]: ", i,j);
 scanf("%d",&matriz[i][j]);
 }
 }
 }
 void main(){
 int matriz[3][3];
 leer_matriz(matriz);
 imprimir(matriz);
 printf("Gracias");
 }

Arraysbidimensionales

  • 2.
    Arreglos Bidimensionales  Unarreglo bidimensional es un array de arrays unidimensionales.  Se puede visualizar a un arreglo bidimensional como una matriz con filas y columnas. El primer índice indica la fila y el segundo indica la columna.
  • 3.
     Los arreglosde dos dimensiones se declaran de acuerdo al esquema  tipo variable[filas][columnas];  Ejemplo  int a[5][4]; a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[3][0] a[3][1] a[3][2] a[3][3] a[4][0] a[4][1] a[4][2] a[4][3] Declaración
  • 4.
    1 Arreglos Bidimensionales • Unamatriz bidimensional tiene la forma sigui ente: a11 a12 ............ a1n a21 a22 ............ a2n ..................... am1 am2 ............ amn • Para acceder al dato aij se hace de la manera siguiente: c=a[i][j];
  • 5.
    Inicialización  int a[5][4]= {{2,3,4,2},{2,0,6,1},{3,5,5,0},{2,2, 1,1},{3,2,5,6}}; 2 3 4 2 2 0 6 1 3 5 5 0 2 2 1 1 3 2 5 6
  • 6.
    int a[5][4] ={{2,3},{1}, {3,5,5,0},{2},{3}}; 2 3 0 0 1 0 0 0 3 5 5 0 2 0 0 0 3 0 0 0 Inicialización
  • 7.
    Ejemplo 1  #include<conio.h>  #include <stdio.h>  void main()  {  int matriz[5][5], contador=0;  // Asigno un contador a cada elemento de la matriz  for(int i=0;i<5;i++)  {  for(int j=0;j<5;j++)  {  matriz[i][j]=contador++;  }  }  printf("Impresión de la matriz...n");  for( i=0;i<5;i++)  {  for(int j=0;j<5;j++)  {  printf("%dt",matriz[i][j]);  }  printf("n");  }  printf("Gracias");  }
  • 8.
    Ejemplo 2  #include<conio.h>  #include <stdio.h>  void main()  {  //Iniciliza una matriz. Al igual que los arreglos la matriz puede tomar valores iniciales  //y no necesariamente deben inicializarse todos los elementos  int matriz[5][5]={{1,10,20},{40,17,25, 18, 19},{18,19,20, 27},{1}};   printf("Impresión de la matrizn");  for(int i=0;i<5;i++)  {  for(int j=0;j<5;j++)  {  printf("%dt",matriz[i][j]);  }  printf("n");  }  printf("Gracias");  }
  • 9.
    Ejemplo 3  #include<conio.h>  #include <stdio.h>  void imprimir(int matriz[][3])  {  for(int i=0;i<3;i++)  {  for(int j=0;j<3;j++)  {  printf("%dt",matriz[i][j]);  }  printf("n");  }  } void leer_matriz(int matriz[][3])  {  for(int i=0;i<3;i++)  {  for(int j=0;j<3;j++)  {  printf("Ingrese el elemento:[%d][%d]: ", i,j);  scanf("%d",&matriz[i][j]);  }  }  }  void main(){  int matriz[3][3];  leer_matriz(matriz);  imprimir(matriz);  printf("Gracias");  }