Matrices en C: ejercicio resuelto de diagonal principal y secundaria

  2 minutos

Si llegas buscando matrices en C ejercicios resueltos, este es uno de los ejercicios más utiles para dominar índices en arrays bidimensionales.

Dada una matriz cuadrada 3x3, calcula:

  • suma de diagonal principal,
  • suma de diagonal secundaria.
#include <stdio.h>

int main(void) {
    int m[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    int suma_principal = 0;
    int suma_secundaria = 0;

    for (int i = 0; i < 3; i++) {
        suma_principal += m[i][i];
        suma_secundaria += m[i][2 - i];
    }

    printf("Diagonal principal: %d\n", suma_principal);
    printf("Diagonal secundaria: %d\n", suma_secundaria);

    return 0;
}
Diagonal principal: 15
Diagonal secundaria: 15

Prueba también una matriz 1x1:

{ {7} }
Diagonal principal: 7
Diagonal secundaria: 7
  • Intercambiar fórmulas: principal es m[i][i] y secundaria es m[i][n - 1 - i].
  • Fijar el 2 - i solo para 3x3 y romper el código al cambiar de tamaño.
  • No reiniciar acumuladores en 0 cuando repites pruebas.
  • Usar una matriz no cuadrada y esperar diagonales equivalentes.
  • Tiempo: O(n) para calcular ambas diagonales en una matriz n x n.
  • Espacio extra: O(1), solo variables acumuladoras.

Este patrón de recorrido aparece en análisis de tablas, transformaciones de datos y problemas de optimizacion matricial.

Si quieres una ruta completa con progresión real de dificultad:

Sí, es nivel basico-intermedio y muy bueno para consolidar bucles e índices.

En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.

Empieza con entradas pequeñas, prueba casos límite (vacío, un elemento y capacidad máxima) y luego reescribe la solución sin copiarla.