9

Arraysbidimensionales

Embed Size (px)

Citation preview

Page 1: Arraysbidimensionales
Page 2: Arraysbidimensionales

Arreglos Bidimensionales

Un arreglo bidimensional es un array de arraysunidimensionales.

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.

Page 3: Arraysbidimensionales

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

Page 4: Arraysbidimensionales

1

Arreglos Bidimensionales

• Una matriz bidimensional tiene la forma siguiente:

a11

a12

............ a1n

a21

a22

............ a2n

.....................

am1

am2

............ amn

• Para acceder al dato aij se hace de la

manera siguiente:c=a[i][j];

Page 5: Arraysbidimensionales

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

Page 6: Arraysbidimensionales

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

Page 7: Arraysbidimensionales

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("%d\t",matriz[i][j]); } printf("\n"); } printf("Gracias"); }

Page 8: Arraysbidimensionales

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 matriz\n"); for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { printf("%d\t",matriz[i][j]); } printf("\n"); } printf("Gracias"); }

Page 9: Arraysbidimensionales

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("%d\t",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");

}