Las matrices en PSeInt permiten organizar datos en filas y columnas. Son una extensión natural de los vectores y resultan muy útiles para practicar recorridos anidados, búsquedas, acumuladores y operaciones con datos bidimensionales.
En estos ejemplos usamos posiciones desde 1, manteniendo el mismo criterio utilizado en nuestros ejercicios de vectores.
Índice de ejercicios
- Cargar y mostrar una matriz 3×3
- Sumar todos los elementos
- Calcular el promedio de una matriz
- Encontrar el valor mayor
- Encontrar el valor menor
- Sumar una fila
- Sumar una columna
- Mostrar la diagonal principal
- Sumar la diagonal principal
- Mostrar la diagonal secundaria
- Contar números pares
- Contar positivos, negativos y ceros
- Buscar un valor en la matriz
- Copiar una matriz
- Multiplicar todos los elementos por un número
- Sumar dos matrices
- Comparar dos matrices
- Obtener la matriz transpuesta
- Encontrar la fila con mayor suma
- Crear una matriz identidad
1. Cargar y mostrar una matriz 3×3
Este ejercicio recorre una matriz primero para cargar sus valores y luego para mostrarlos por filas.
Algoritmo CargarMostrarMatriz Definir matriz, i, j Como Entero Dimension matriz[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Escribir "Ingrese el valor [", i, ",", j, "]:" Leer matriz[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Escribir Sin Saltar matriz[i,j], " " FinPara Escribir "" FinPara FinAlgoritmo
2. Sumar todos los elementos
Usamos un acumulador para sumar cada elemento mientras recorremos todas las filas y columnas.
Algoritmo SumarMatriz Definir matriz, i, j, suma Como Entero Dimension matriz[3,3] suma <- 0 Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] suma <- suma + matriz[i,j] FinPara FinPara Escribir "La suma total es: ", suma FinAlgoritmo
3. Calcular el promedio de una matriz
En una matriz 3×3 hay 9 elementos, por lo que dividimos la suma total por 9.
Algoritmo PromedioMatriz Definir matriz, i, j Como Entero Definir suma, promedio Como Real Dimension matriz[3,3] suma <- 0 Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] suma <- suma + matriz[i,j] FinPara FinPara promedio <- suma / 9 Escribir "Promedio: ", promedio FinAlgoritmo
4. Encontrar el valor mayor
Tomamos el primer elemento como referencia y lo comparamos con el resto.
Algoritmo MayorMatriz Definir matriz, i, j, mayor Como Entero Dimension matriz[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara mayor <- matriz[1,1] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Si matriz[i,j] > mayor Entonces mayor <- matriz[i,j] FinSi FinPara FinPara Escribir "El mayor es: ", mayor FinAlgoritmo
5. Encontrar el valor menor
El procedimiento es similar al anterior, pero conservando el menor valor encontrado.
Algoritmo MenorMatriz Definir matriz, i, j, menor Como Entero Dimension matriz[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara menor <- matriz[1,1] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Si matriz[i,j] < menor Entonces menor <- matriz[i,j] FinSi FinPara FinPara Escribir "El menor es: ", menor FinAlgoritmo
6. Sumar una fila
En este ejemplo sumamos todos los elementos de la segunda fila.
Algoritmo SumarFila Definir matriz, i, j, suma Como Entero Dimension matriz[3,3] suma <- 0 Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara Para j <- 1 Hasta 3 Hacer suma <- suma + matriz[2,j] FinPara Escribir "Suma de la fila 2: ", suma FinAlgoritmo
7. Sumar una columna
Ahora recorremos una columna fija; en este caso, la columna 2.
Algoritmo SumarColumna Definir matriz, i, j, suma Como Entero Dimension matriz[3,3] suma <- 0 Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer suma <- suma + matriz[i,2] FinPara Escribir "Suma de la columna 2: ", suma FinAlgoritmo
8. Mostrar la diagonal principal
En la diagonal principal coinciden el número de fila y el número de columna.
Algoritmo DiagonalPrincipal Definir matriz, i, j Como Entero Dimension matriz[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer Escribir matriz[i,i] FinPara FinAlgoritmo
9. Sumar la diagonal principal
Sumamos los elementos ubicados en las posiciones [1,1], [2,2] y [3,3].
Algoritmo SumarDiagonalPrincipal Definir matriz, i, j, suma Como Entero Dimension matriz[3,3] suma <- 0 Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer suma <- suma + matriz[i,i] FinPara Escribir "Suma diagonal principal: ", suma FinAlgoritmo
10. Mostrar la diagonal secundaria
Para una matriz 3×3, las posiciones de la diagonal secundaria cumplen que columna = 4 – fila.
Algoritmo DiagonalSecundaria Definir matriz, i, j Como Entero Dimension matriz[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer Escribir matriz[i,4-i] FinPara FinAlgoritmo
11. Contar números pares
Usamos MOD para comprobar qué elementos son divisibles por 2.
Algoritmo ContarParesMatriz Definir matriz, i, j, pares Como Entero Dimension matriz[3,3] pares <- 0 Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] Si matriz[i,j] MOD 2 = 0 Entonces pares <- pares + 1 FinSi FinPara FinPara Escribir "Cantidad de pares: ", pares FinAlgoritmo
12. Contar positivos, negativos y ceros
Clasificamos cada elemento según sea mayor, menor o igual a cero.
Algoritmo ContarSignosMatriz Definir matriz, i, j, positivos, negativos, ceros Como Entero Dimension matriz[3,3] positivos <- 0 negativos <- 0 ceros <- 0 Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] Si matriz[i,j] > 0 Entonces positivos <- positivos + 1 Sino Si matriz[i,j] < 0 Entonces negativos <- negativos + 1 Sino ceros <- ceros + 1 FinSi FinSi FinPara FinPara Escribir "Positivos: ", positivos Escribir "Negativos: ", negativos Escribir "Ceros: ", ceros FinAlgoritmo
13. Buscar un valor en la matriz
Recorremos todos los elementos y usamos una variable lógica para indicar si el valor fue encontrado.
Algoritmo BuscarEnMatriz Definir matriz, i, j, buscado Como Entero Definir encontrado Como Logico Dimension matriz[3,3] encontrado <- Falso Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara Escribir "Valor a buscar:" Leer buscado Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Si matriz[i,j] = buscado Entonces encontrado <- Verdadero FinSi FinPara FinPara Si encontrado Entonces Escribir "El valor se encuentra en la matriz" Sino Escribir "El valor no se encuentra en la matriz" FinSi FinAlgoritmo
14. Copiar una matriz
Cada elemento de la matriz original se asigna a la misma posición de la matriz copia.
Algoritmo CopiarMatriz Definir original, copia, i, j Como Entero Dimension original[3,3] Dimension copia[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer original[i,j] copia[i,j] <- original[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Escribir Sin Saltar copia[i,j], " " FinPara Escribir "" FinPara FinAlgoritmo
15. Multiplicar todos los elementos por un número
Solicitamos un factor y lo aplicamos a cada posición de la matriz.
Algoritmo MultiplicarMatriz Definir matriz, i, j, factor Como Entero Dimension matriz[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara Escribir "Ingrese el factor:" Leer factor Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer matriz[i,j] <- matriz[i,j] * factor Escribir Sin Saltar matriz[i,j], " " FinPara Escribir "" FinPara FinAlgoritmo
16. Sumar dos matrices
La suma se realiza posición por posición.
Algoritmo SumarDosMatrices Definir a, b, c, i, j Como Entero Dimension a[3,3] Dimension b[3,3] Dimension c[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Escribir "A[", i, ",", j, "]:" Leer a[i,j] Escribir "B[", i, ",", j, "]:" Leer b[i,j] c[i,j] <- a[i,j] + b[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Escribir Sin Saltar c[i,j], " " FinPara Escribir "" FinPara FinAlgoritmo
17. Comparar dos matrices
Dos matrices son iguales si todos sus elementos coinciden en las mismas posiciones.
Algoritmo CompararMatrices Definir a, b, i, j Como Entero Definir iguales Como Logico Dimension a[3,3] Dimension b[3,3] iguales <- Verdadero Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer a[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer b[i,j] Si a[i,j] <> b[i,j] Entonces iguales <- Falso FinSi FinPara FinPara Si iguales Entonces Escribir "Las matrices son iguales" Sino Escribir "Las matrices son diferentes" FinSi FinAlgoritmo
18. Obtener la matriz transpuesta
Para transponer una matriz intercambiamos filas por columnas.
Algoritmo MatrizTranspuesta Definir matriz, transpuesta, i, j Como Entero Dimension matriz[3,3] Dimension transpuesta[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] transpuesta[j,i] <- matriz[i,j] FinPara FinPara Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Escribir Sin Saltar transpuesta[i,j], " " FinPara Escribir "" FinPara FinAlgoritmo
19. Encontrar la fila con mayor suma
Calculamos la suma de cada fila y conservamos el número de la fila que tenga el total más alto.
Algoritmo FilaMayorSuma Definir matriz, i, j, sumaFila, mayorSuma, filaMayor Como Entero Dimension matriz[3,3] Para i <- 1 Hasta 3 Hacer Para j <- 1 Hasta 3 Hacer Leer matriz[i,j] FinPara FinPara mayorSuma <- 0 filaMayor <- 1 Para i <- 1 Hasta 3 Hacer sumaFila <- 0 Para j <- 1 Hasta 3 Hacer sumaFila <- sumaFila + matriz[i,j] FinPara Si i = 1 O sumaFila > mayorSuma Entonces mayorSuma <- sumaFila filaMayor <- i FinSi FinPara Escribir "Fila con mayor suma: ", filaMayor Escribir "Suma: ", mayorSuma FinAlgoritmo
20. Crear una matriz identidad
Una matriz identidad tiene 1 en la diagonal principal y 0 en todas las demás posiciones.
Algoritmo MatrizIdentidad Definir matriz, i, j Como Entero Dimension matriz[4,4] Para i <- 1 Hasta 4 Hacer Para j <- 1 Hasta 4 Hacer Si i = j Entonces matriz[i,j] <- 1 Sino matriz[i,j] <- 0 FinSi Escribir Sin Saltar matriz[i,j], " " FinPara Escribir "" FinPara FinAlgoritmo
Seguí practicando PSeInt
Si todavía estás practicando estructuras básicas, podés continuar con PSeInt: ejemplos básicos resueltos, los 20 ejercicios de ciclos y condicionales o los 20 ejercicios resueltos con vectores.
¿Te sirvió este ejercicio? ☕
Si este contenido te ayudó, podés apoyar a Club Programador con el monto que quieras. Tu aporte ayuda a mantener estos ejercicios disponibles gratuitamente y a seguir publicando nuevos ejemplos.
🇦🇷 Apoyar desde Argentina
☕ Invitame un café con Mercado Pago
🌎 Apoyar desde otro país
Descubre más desde Club Programador
Suscríbete y recibe las últimas entradas en tu correo electrónico.
Un comentario en “20 ejercicios resueltos de PSeInt con matrices”