Matrices en C: ejercicio resuelto
Si llegas buscando matrices en C ejercicios resueltos, este es uno de los ejercicios más utiles para dominar índices en arrays bidimensionales.
Enunciado
Dada una matriz cuadrada 3x3, calcula:
- suma de diagonal principal,
- suma de diagonal secundaria.
Solución en C
#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;
}Salida esperada
Diagonal principal: 15
Diagonal secundaria: 15Caso borde recomendado
Prueba también una matriz 1x1:
{ {7} }
Diagonal principal: 7
Diagonal secundaria: 7Errores frecuentes
- Intercambiar fórmulas: principal es
m[i][i]y secundaria esm[i][n - 1 - i]. - Fijar el
2 - isolo para3x3y romper el código al cambiar de tamaño. - No reiniciar acumuladores en
0cuando repites pruebas. - Usar una matriz no cuadrada y esperar diagonales equivalentes.
Complejidad temporal y espacial
- Tiempo: O(n) para calcular ambas diagonales en una matriz
n x n. - Espacio extra: O(1), solo variables acumuladoras.
Aplicación práctica
Este patrón de recorrido aparece en análisis de tablas, transformaciones de datos y problemas de optimizacion matricial.
Siguiente ejercicio recomendado
- Cadenas en C: ejercicios resueltos con strlen, strcpy y strcmp
- Ficheros en C: ejercicio resuelto para contar lineas y caracteres
- Ordenacion burbuja en C: ejercicio resuelto paso a paso
- Todos los ejercicios de C
Práctica guiada y siguiente paso
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿Este ejercicio de matrices en C es para principiantes?
Sí, es nivel basico-intermedio y muy bueno para consolidar bucles e índices.
¿Dónde seguir con más ejercicios resueltos?
En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.
¿Cómo practicar este tipo de ejercicio para mejorar más rápido?
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.