Escolar Documentos
Profissional Documentos
Cultura Documentos
Matrices
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
Miguel
NA
E
S
E
Matrices
E
E
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 1 2 3 S NA E
(1,1) (2,1) (3,1)
2 B S E
(1,2) (2,2) (3,2)
3 E E E
(1,3) (2,3) (3,3)
Matrices
Filas
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
Matrices
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
Si una matriz tiene igual nmero de filas y columnas decimos que es una matriz cuadrada.
Matrices 9
para i= 0 hasta 2 hacer para j= 0 hasta 2 hacer Escribir M[i][j] fin_para_j fin_para_i Fin
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
Inicio var entero f,c,posf,posc, dimensionar M[10][10] para f= 0 hasta 9 hacer para c= 0 hasta 9 hacer Leer M[f][c] fin_para_c fin_para_f Mayor= M[0][0];/*Suponemos que el mayor es el primero*/
Matrices
para f= 0 hasta 9 hacer para c= 0 hasta 9 hacer si ( M[f][c] > mayor ) { mayor= M[f][c] posf=f; posc=c; } fin_para_c fin_para_f
Escribir El Mayor es ,mayor Escribir En la posicin,posf, posc
Fin
11
[ 5 ];
No. de columnas No. de filas Nombre de la matriz Tipo de la matriz
Matrices 12
columna1 columna2
20 30
40
50
Matrices
60
13
6. Fin
Matrices
14
Ejercicios
1.-Considere la siguiente declaracin: char *mensajes[5]={Excelente,Bien,Ok,A casa}; Es correcto? Si, No Porqu? Cul es la salida de la siguiente sentencia? printf(%s,mensajes[0]); 2.-Cul es la salida del siguiente segmento de programa? char junk[4][4]; int i,k; for(i=0;i<16;i++) for(k=0;k<4;k++) if (i % 2 ==0) junk[i][k] = A ; else junk[i][k] = B ;
Matrices 16
Ejercicios. Continuacin
3. Escriba un algoritmo que lea una matriz de flotantes de dimensin 3 x 5 y a continuacin debera escribir la matriz recin leda. 4. Elabore un algoritmo para leer una matriz de 7x7.Calcular la suma de cada rengln y almacenarla en un vector, la suma de cada columna y almacenarla en otro vector. 5. Algoritmo para leer una matriz de 20 x 20, sumar las columnas e imprimir qu columna tuvo la mxima suma y la suma de esa columna. 6. Algoritmo que asigne datos a una matriz de 10 x 10 con 1s en la diagonal principal y 0 en las dems posiciones.
Matrices 17
7. Algoritmo para leer una matriz de 6x8 y que almacenen toda la matriz en un vector. Imprima el vector resultante. 8. Algoritmo para leer una matriz de 5x6 y que imprima cuntos elementos almacenados en la matriz son 0 , cuntos son positivos y cuntos son negativos. 9. Los resultados de las ltimas elecciones a alcalde en el pueblo de Cacalotepec han sido los siguientes:
Distrito 1 2 3 4 Condado A 194 180 221 432 Condado B 48 20 90 50 Condado C 206 320 140 821 Condado D 45 16 20 14
820
61Matrices
946
18
18
Ejercicio.
9. Continuacin a) Imprimir la tabla anterior con cabeceras. b) Calcule e imprima el nmero total de votos recibidos por cada candidato y el porcentaje total de votos emitidos. As mismo visualizar el candidato ms votado. c) Si algn candidato recibe ms del 50% de los votos, el programa imprimir un mensaje declarndolo ganador. d) Si ningn candidato recibe ms del 50% de los votos, el programa deber imprimir el nombre de los dos candidatos ms votados, que sern los que pasen a la segunda ronda de las elecciones.
Matrices 19
Ejercicios
10. Supngase que los cuadrados de un juego del gato, se enumeran como en la figura adjunta y se leen los nmeros de 3 cuadros N1,N2,N3. Sean N1<N2<N3. Si los tres cuadros as designados estn en una lnea, asgnele a la variable LINEA = 1, de otra manera asgnele a LINEA=0. Habra una manera ms sencilla de enumerar los cuadros a fin de simplificar la prueba?
1 4 7
2 5 8
Matrices
3 6 9
20
Mas Ejercicios 11
Matrices
21
Ejercicios 12
Matrices
22
Ejercicio 13
Escribir un programa que pida un nmero n e imprima por pantalla su tabla de sumar. Por ejemplo si el nmero fuera el 3 la tabla debera ser:
Matrices
23
Ejercicio 14
Declare una matriz de nmero reales de tamao DIMxDIM (DIM constante con valor 25). Escribir las siguientes funciones:
Funcin Simetrica: Dada una matriz indica si la matriz es simtrica (1) o si no lo es (0).
Funcion Resta: Dadas dos matrices, calcular la resta de stas. Piensa esta respuesta utilizando el procedimiento de suma de matrices, definido anteriormente. Funcin Multiplica: Dadas dos matrices, devuelve el producto de ellas.
Ejercicio 15
Matrices
25
Ejercicio 16
Matrices
26
Ejercicio 17
Matrices
27
Cont.
Matrices
28