Está en la página 1de 15

Arreglos de dos dimensiones

Fundamentos de programacin

Agenda
Arreglos de mltiples dimensiones.

Introduccin
Un colegio particular almacena las notas de cada curso en un arreglo que contiene MAX elementos. El subndice del arreglo representa el cdigo asignado al estudiante.
1er curso notasc1 2do curso notasc2

15

17

12

20

19

12

18

15

. . .

17

18

11

13

20
. . .

20

16

17

. . .

Introduccin
Con lo que hasta ahora hemos visto, deberamos tener un arreglo de notas por cada curso. notasc1[0] 15, notasc2[3] 13
1er curso notasc1 2do curso notasc2

15

17

12

20

19

12

18

15

. . .

17

18

11

13

20
. . .

20

16

17

. . .

Introduccin
Pudiramos tener un solo arreglo llamado notas con dos subndices, donde el primero represente el cdigo del curso y el segundo el cdigo del estudiante.

1er curso notasc1 2do curso notasc2

15

17

12

20

19

12

18

15

. . .

17

18

11

13

20
. . .

20

16

17

. . .

Introduccin
15
notas

17 18

12 11

20 13

19 20

12 20

Este arreglo de dos subndices se lo denomina matriz 18 15 . . .

17

16

17 . . .

. . . Fila

Columna

notas[cod_curso][cod_alumno] notas[0][0] 15 notas[1][3] 13

Arreglos de mltiples dimensiones


Arreglos con mltiples subndices
- Tablas con columnas y filas (arreglos c x f) - Similar a las matrices - Ejemplo: arreglo a con 3 filas y 4 columnas
Columna 0 Fila 0 Fila 1 Fila 2 a[ 0 ][ 0 ] a[ 1 ][ 0 ] a[ 2 ][ 0 ] Columna 1 a[ 0 ][ 1 ] a[ 1 ][ 1 ] a[ 2 ][ 1 ] Columna 2 a[ 0 ][ 2 ] a[ 1 ][ 2 ] a[ 2 ][ 2 ] Columna 3 a[ 0 ][ 3 ] a[ 1 ][ 3 ] a[ 2 ][ 3 ]

Primero la fila y luego la columna

Indice de columna Nombre del arreglo Indice de Fila

Arreglos de mltiples dimensiones


Inicializacin
- int b[2][2] = { {1,2},{3,4}}
1 3 2 4

- Inicializar agrupando por filas - Si no hay suficientes inicializadores, los elementos no especificados se les asigna 0 - int b[2][2] = { {1},{3,4}}

1 3

0 4

Arreglos de mltiples dimensiones


Referenciar elementos
- Especificar la fila y luego la columna - Asignar:
b[ 0 ][ 1 ]=2;

- Obtener
printf( "%i", b[0][1] );

Arreglos de mltiples dimensiones con funciones


Recibir un arreglo mltiple
Cuando se desea que no se modifique ningn valor del arreglo, se define el parmetro del arreglo como const El primer subndice no es necesario, de all en adelante se debe especificar los subndices son sus tamaos respectivos.
void muestraArreglo(const int arreglo[][MAX_COLUMNAS]); void llenaArreglo(int arreglo[][MAX_COLUMNAS]);

Arreglos de mltiples dimensiones con funciones


Enviar un arreglo mltiple
Se enva el arreglo mediante su identificador.
int arreglo[MAXFILAS][MAXCOLUMNAS]; muestraArreglo(arreglo);

Ejemplo
Un profesor de matemticas est interesado en escribir un programa en C que le permita sumar dos matrices de MxN. Escriba una funcin que reciba tres matrices, sume las dos primeras y el resultado lo coloque en la tercera. Escriba un programa en C que llene aleatoriamente dos matrices y las sume.

Ejemplo
Escriba un programa en C que permita jugar el juego de tres en raya entre dos personas. Cada jugador debe especificar la posicin por fila columna que desea. El programa finaliza cuando cualquiera de los dos jugadores presiona ESC.

Ejemplo
Implemente una funcin que reciba tres matrices. Donde almacenara el la tercera el resultado de la multiplicacin de las dos primeras,

En esta clase Ud. aprendi


Identificar los problemas que pueden ser solucionados utilizando arreglos mltiples. Resolver problemas que involucren la utilizacin de arreglos mltiples. Utilizar arreglos mltiples como parmetros dentro de funciones en C.

También podría gustarte