% Ejercicio #2 - la matriz debe ser cuadrada disp('Suma de diagonal principal en matriz nxn') clc clear all matriznum = 0; numero = 0; sumadiag = 0; cantidad = 0; cantidad = input('Cantidad de filas/columnas: '); % Llenar la matriz con números % Recorrer las filas for f = 1 : cantidad disp(sprintf('Números de la fila %d', f)) % Recorrer las columnas for c = 1 : cantidad disp(sprintf('Columna %d', c)) numero = input('Ingrese un número: '); % Almacenar en la matriz matriznum(f, c) = numero; end end % Recorrer la matriz % Sumar los elementos que correspondan a la diagonal principal for f = 1 : cantidad for c = 1 : cantidad % Si el elemento esta en igual valor de fila y columna % corresponde a la posición de la diagonal principal if f == c % Acumular el valor de la posición sumadiag = sumadiag + matriznum(f, c); end end end disp('Resultados') disp(sprintf('La suma de la diagonal principal es %.2f', sumadiag)) disp('Fin del ejercicio') % Ejercicio #3 - la matriz debe ser cuadrada disp('Suma de diagonal principal solo valores pares en matriz nxn') clc clear all matriznum = 0; numero = 0; sumadiag = 0; cantidad = 0; cantidad = input('Cantidad de filas/columnas: '); % Llenar la matriz con números % Recorrer las filas for f = 1 : cantidad disp(sprintf('Números de la fila %d', f)) % Recorrer las columnas for c = 1 : cantidad disp(sprintf('Columna %d', c)) numero = input('Ingrese un número: '); % Almacenar en la matriz matriznum(f, c) = numero; end end % Recorrer la matriz % Sumar los elementos que correspondan a la diagonal principal solo valores % pares for f = 1 : cantidad for c = 1 : cantidad % Si el elemento esta en igual valor de fila y columna % corresponde a la posición de la diagonal principal % y su valor es par. if f == c & mod(matriznum(f, c), 2) == 0 % Acumular el valor de la posición sumadiag = sumadiag + matriznum(f, c); end end end disp('Resultados') disp(sprintf('La suma de la diagonal principal valores pares es %.2f', sumadiag)) disp('Fin del ejercicio') % Ejercicio #4 - la matriz debe ser cuadrada disp('Suma de diagonal secundaria solo valores impares en matriz nxn') clc clear all matriznum = 0; numero = 0; sumadiag = 0; cantidad = 0; cantidad = input('Cantidad de filas/columnas: '); % Llenar la matriz con números % Recorrer las filas for f = 1 : cantidad disp(sprintf('Números de la fila %d', f)) % Recorrer las columnas for c = 1 : cantidad disp(sprintf('Columna %d', c)) numero = input('Ingrese un número: '); % Almacenar en la matriz matriznum(f, c) = numero; end end % Recorrer la matriz % Sumar los elementos que correspondan a la diagonal secundaria y solo valores % impares for f = 1 : cantidad for c = 1 : cantidad % Si sumada la posición de fila mas la columa es igual a tamaño de filas o columnas % más uno corresponde % y su valor es impar if (f+c == cantidad + % Acumular el valor sumadiag = sumadiag end end end disp('Resultados') a la posición de la diagonal secundaria 1) & mod(matriznum(f, c), 2) ~= 0 de la posición + matriznum(f, c); disp(sprintf('La suma de la diagonal secundaria valores impares es %.2f', sumadiag)) disp('Fin del ejercicio')