Ejercicios 2 al 4 matrices

Anuncio
% 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')
Descargar