Sie sind auf Seite 1von 16

Ing.

Max ARANA CAPARACHIN


MATRICES
ARREGLOS BIDIMENSIONALES

Matrices 1
INTRODUCCIN
Supngase que se tiene la siguientes
calificaciones de los alumnos de
Pseudocodigo de la sec. 107 arreglados de
la siguiente manera:
Alumno Parcial 1 Parcial 2 Parcial 3
Luis S B E
Carmen NA S E
Miguel E E E
Matrices 2
DEFICIN
MATRIZ o arreglo bidimensional es un arreglo de
arreglos, que representan una tabla, tiene filas y
columnas. Los datos de una matriz son todos del
mismo tipo y son accedidos mediante dos ndices
o posiciones: uno para filas y otro para columnas.
Por ejemplo:
1 2 3
1 S (1,1) B (1,2) E (1,3)

2 NA (2,1) S (2,2) E (2,3)

3 E (3,1) E (3,2) E (3,3)

Matrices 3
Una Matriz desde el punto de
vista matemtico

Columnas

a00 a01 a02


Filas
a10 a11 a12 = A
a20 a21 a22
3x3

Dimensin de la matriz
Matrices 4
Vista conceptual de una matriz
Columna 0 Columna1 Columna2 Columna3
Fila 0
Fila 1
Fila 2

En este caso tenemos una matriz de dimensin ( o


tamao) M x N, donde M es el numero de filas
y N el nmero de columnas. Aqu M=2 y N=4
De la misma forma que los arreglos, una matriz
debe tener tambin un nombre, digamos M.

Matrices 5
Acceso a los elementos de una
Matriz
Acceder a los elementos de una matriz significa,
ser capaces de almacenar valores y recuperarlos de
cada elemento de la matriz.
Cada elemento de la matriz tiene asignado una
posicin denotada por su fila y su columna. Por
ejemplo:
M[ 0 ][ 0 ] Se refiere al primer elemento de la
Matriz M que est localizado en la fila 0 y columna 0

M[ 1 ][ 2 ] A cul elemento se hace referencia?

Matrices 6
Acceso a los elementos de una
Matriz. Continuacin
Sea la matriz M[3][4] M[2][3]
M[0][0] Columna 0 Columna1 Columna2 Columna3
Fila 0
Fila 1
Fila 2

La fila y la columna inician desde cero.


Tener cuidado de no exceder los lmites de la
matriz.
Cualquier elemento individual de una matriz,
puede ser utilizado como una variable normal.
Matrices 7
Dimensionar y leer una matriz
Para dimensionar o declarar una matriz hacemos
M [5][6].
La lectura de una matriz se realiza por medio de
dos ciclos anidados, uno que recorra la filas y otro
las columnas, es decir,
para fila = 0 hasta 4 hacer
para columna = 0 hasta 4 hacer
Leer M[fila][columna]
fin_para_columna
fin_para_fila

Matrices 8
Dimensionar y leer una matriz
Cont.
El recorrido de la matriz M para su lectura se hace
de la siguiente manera:
0 1 2 3 4 5

Si una matriz tiene igual nmero de filas y


columnas decimos que es una matriz cuadrada.
Matrices 9
Procesar una matriz
Ejemplo: Calcular el promedio de los elementos de
una matriz.
Inicio
var suma, promedio,i,j
dimensionar M[3][3]

para i= 0 hasta 2 hacer para i= 0 hasta 2 hacer


para j= 0 hasta 2 hacer para j= 0 hasta 2 hacer
Leer M[i][j] Escribir M[i][j]
fin_para_j fin_para_j
fin_para_i fin_para_i
Fin
para i= 0 hasta 2 hacer
para j= 0 hasta 2 hacer
suma=suma+M[i][j]
fin_para_j
fin_para_i
promedio = suma/9
Matrices 10
Ejemplo: Algoritmo para leer una matriz de 10 x 10 y
determinar la posicin [f][c] del nmero mayor almacenado
en la matriz. Se supone que todos los nmeros son diferentes.

SOLUCIN para f= 0 hasta 9 hacer


para c= 0 hasta 9 hacer
Inicio si ( M[f][c] > mayor )
var entero f,c,posf,posc, {
dimensionar M[10][10] mayor= M[f][c]
posf=f;
para f= 0 hasta 9 hacer posc=c;
para c= 0 hasta 9 hacer }
Leer M[f][c] fin_para_c
fin_para_c fin_para_f
fin_para_f
Escribir El Mayor es ,mayor
Mayor= M[0][0];/*Suponemos Escribir En la
que el mayor posicin,posf, posc
es el primero*/ Fin
Matrices 11
Declaracin de una matriz en C
tipo NombreMatriz [ No. filas ][No. columnas];
Ejemplo:

int Tabla [ 3 ] [ 5 ];

No. de columnas
No. de filas
Nombre de la matriz
Tipo de la matriz
Matrices 12
Inicializar una matriz
Adems de leer, escribir y procesar matrices,
tambin podemos inicializarlas con valores
para evitar leerlos desde el teclado u otro
dispositivo de E/S.
La inicializacin se hace como sigue:
int tabla[2][3]={{10,20,30},{40,50,60}};
Columan0 columna1 columna2
Fila 0 10 20 30
Fila 1 40 50 60
Matrices 13
Otro ejemplo de matrices en C
Escriba un algoritmo que lea una matriz de 10x10 y sume los
Elementos de la diagonal principal
1. Inicio
2. Var entero f,c,suma=0 4. para f= 0 hasta 9 hacer
para c= 0 hasta 9 hacer
entero M[10][10] suma= suma + M[f][f]
fin_para_c
3. para f= 0 hasta 9 hacer fin_para_f
para c= 0 hasta 9 hacer
Leer M[f][c] 5. Escribir La suma de la
fin_para_c diagonal es,suma
fin_para_f 6. Fin

Matrices 14
Codificacin del ejemplo anterior
#include<stdio.h> For(f=0;f<FIL;f++){ /*Se realiza la suma*/
#include<conio.h> For(c=0;c<COL;c++){
#define FIL 10 suma=suma+M[f][f];
#define COL 10 }
}
Main() { For(f=0;f<FIL;f++){ /*Se escribe M*/
int f,c, M[FIL][COL]; For(c=0;c<COL;c++){
int suma=0; printf(%d ,M[f][c]);
Clrscr(); }
Printf(Dame los valores); printf(\n);
For(f=0;f<FIL;f++){ }
For(c=0;c<COL;c++){ Printf(La suma de la
scanf(%d,&M[f][c]); diagonal es:%d,suma);
} }
}
Matrices 15
Matrices 16