Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos...

12

Click here to load reader

Transcript of Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos...

Page 1: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Matrices(Arreglos

Bidimensionales)

Page 2: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Arreglos Bidimensionales� Los arreglos bidimensionales son aquellos que tienen dos

dimensiones y, en consecuencia se manejan con dos índices, se

puede ver también como un arreglo de arreglos.

� Un arreglo bidimensional equivale a una tabla con múltiples filas

y múltiples columnas.

123 25 56 3 45

32 44 56 45 67

23 100 56 48 67

Arreglo bidimensional de 3 filas y 5 columnas

0 1 2 3 4

0

1

2

filas

columnas

3X5= 15 valores almacenados

Page 3: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Declaración y Acceso de MatricesDeclaración:

<tipo_de_dato> <identificador_del_arreglo> [Dimensión_fila] [Dimensión_columna]

Por ejemplo: Datos [3] [5] de tipo entero

Id_arreglo = ARREGLO [limInfR..limSupR,limInfC..limSupC] DE tipo

Por ejemplo: matriz = ARREGLO [1..15, 1..5] DE reales

Acceso:

Inserción

< identificador_del_arreglo > [<índice_fila>] [<índice_columna>] � valor del elemento

Por ejemplo: M [3] [2]����9 M [3,2]����9

Extracción

<variable> � < identificador_del_arreglo > [<índice_fila>] [<índice_columna>]

Por ejemplo: x����M [3] [2] x����M [3,2]

Page 4: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Operaciones con matrices

� Suma de Matrices

� Resta

� Multiplicación de Matrices

� Multiplicación por un escalar

=

333231

232221

131211

aaa

aaa

aaa

A

=

333231

232221

131211

bbb

bbb

bbb

B

Page 5: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Suma de Matrices� Consiste en sumar A+B, es decir aij +bij resultando

una nueva matriz C, donde cada posición cij���� aij

+bij

� Ejemplo 1 + 5 = 6

75

31=A

84

75=B

6

84

75

75

31=+ Suma a1 1 + b1 1

3 + 7 = 10

Suma a1 2 + b1 2

106

84

75

75

31=+

9

106

84

75

75

31=+

Suma a2 1 + b2 1

5 + 4 = 9

159

106

84

75

75

31=+ Suma a2 2 + b2 2

7 + 8 = 15

Page 6: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Multiplicación por un escalar� Consiste en multiplicar cada aij por una constante k

� Ejemplo

43

51=A

86

102

43

5122 ==A

Page 7: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Multiplicación de Matrices� Primero debe verificarse el número de filas y columnas de las

dos matrices A y B, el resultado se almacena en la matriz C, de

la siguiente forma: cij���� aik +bkj

� Ejemplo

Debe ser igual entonces

si se puede multiplicar

El tamaño de la

respuesta es 3 x 2

3 x 5 5 x 2

A B

=×33

141312

11109

876

543

210

1)Reviso el tamaño de la matriz

A = 2 x 3 B = 3 x 3

Como son iguales se puede multiplicar.

El tamaño de la matriz de la respuesta es 2 x 3

( ) ( ) ( )332490

1229160

=++

=×+×+× 2) Siempre se toma la primera

matriz con la fila 1 (horizontal)

con la 1 columna (vertical)

marcada en la matriz.

Se opera asi:

3633

141312

11109

876

543

210

( ) ( ) ( )3626100

13210170

=++

=×+×+×

393633

141312

11109

876

543

210

( ) ( ) ( )3928110

14211180

=++

=×+×+×

Obtención de la primera fila de la matriz C

Page 8: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Multiplicación de Matrices …

=×114

393633

141312

11109

876

543

210

Obtención de la segunda fila de la matriz C

( ) ( ) ( )114603618

1259463

=++

=×+×+×

126114

393633

141312

11109

876

543

210

( ) ( ) ( )126654021

13510473

=++

=×+×+×

138126114

393633

141312

11109

876

543

210

( ) ( ) ( )138704424

14511483

=++

=×+×+×

138126114

393633C=

Page 9: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

Ejemplo

� Dado un arreglo bidimensional determinar la

posición [ i , j ] del valor mayor.

� Leer una matriz de 10X10 elementos y

generar un vector con los elementos que

estén por encima de la diagonal principal.

Informar el vector generado.

Page 10: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

� Entrada:

� Salida:

ponm

lkji

hgfe

dcba

g hd lcb

Page 11: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y

� Un algoritmo que almacene números en una matriz de 5 x 6. Imprimir la suma de los números almacenados en la matriz.

� Un algoritmo que llene una matriz de 7 x 7. Calcular la suma de cada renglón y almacenarla en un vector, la suma de cada columna y almacenarla en otro vector.

� Un algoritmo que llene una matriz de 5 x 5 y que almacene la diagonal principal en un vector. Imprimir el vector resultante.

� Un algoritmo que llene una matriz de 10 x10 y que almacene en la diagonal principal el menor de ese renglón.

� Un algoritmo que llene una matriz de 6 x 8 y que almacene toda la matriz en un vector. Imprimir el vector resultante.

� Un algoritmo que llene una matriz de 5 x 6 y que imprima cuantos de los números almacenados son ceros, cuantos son positivos y cuantos son negativos.

Page 12: Matrices(Arreglos Bidimensionales) - cs.buap.mxmtovar/doc/Matrices.pdf · Matrices(Arreglos Bidimensionales) ... Arreglo bidimensional de 3 filas y 5 columnas ... dos matrices A y