20 ejercicios resueltos de PSeInt con matrices

20 ejercicios resueltos de PSeInt con matrices: recorridos, filas, columnas, diagonales, búsquedas, suma, transpuesta y más ejemplos explicados paso a paso.


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

  1. Cargar y mostrar una matriz 3×3
  2. Sumar todos los elementos
  3. Calcular el promedio de una matriz
  4. Encontrar el valor mayor
  5. Encontrar el valor menor
  6. Sumar una fila
  7. Sumar una columna
  8. Mostrar la diagonal principal
  9. Sumar la diagonal principal
  10. Mostrar la diagonal secundaria
  11. Contar números pares
  12. Contar positivos, negativos y ceros
  13. Buscar un valor en la matriz
  14. Copiar una matriz
  15. Multiplicar todos los elementos por un número
  16. Sumar dos matrices
  17. Comparar dos matrices
  18. Obtener la matriz transpuesta
  19. Encontrar la fila con mayor suma
  20. 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

☕ Apoyar con PayPal


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”

Deja un comentario

Descubre más desde Club Programador

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo