Crear un programa en Java para el manejo de matrices:
1. Sumar diagonal secundaria de una matriz cuadrada.
2. Decir si en la diagonal principal hay sólo número
impares.
3. Decir si la matriz es identidad.
4. Sumar dos matrices.
5. Multiplicar un real por una matriz.
6. Calcular de la suma de los elementos que se encuentren
por encima de la diagonal principal.
7. Buscar un elemento dentro de una matriz y decir la
posición en donde se encuentra la primea ocurrencia.
8. Buscar un elemento dentro de una matriz y decir
cuántas veces se encuentra.
9. Mostar el elemento menor en la matriz.
10. Intercambiar dos filas (la fila x pasarla a la fila y y
la fila y pasarla a la fila x).
SOLUCIÓN
Import [Link];
Public class ManejoMatrices {
Public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
// Crear una matriz de ejemplo
[Link](“Ingrese el tamaño de la matriz
cuadrada: “);
Int n = [Link]();
Int[][] matriz = new int[n][n];
// Llenar la matriz
[Link](“Ingrese los elementos de la
matriz:”);
For (int i = 0; i < n; i++) {
For (int j = 0; j < n; j++) {
Matriz[i][j] = [Link]();
}
}
// Llamada a las funciones
[Link](“Suma de la diagonal
secundaria: “ + sumaDiagonalSecundaria(matriz));
[Link](“¿Diagonal principal solo tiene
números impares? “ +
diagonalPrincipalImpares(matriz));
[Link](“¿La matriz es identidad? “ +
esIdentidad(matriz));
// Operaciones adicionales
[Link](“Ingrese un número para
multiplicar la matriz:”);
Int num = [Link]();
Int[][] multiplicacion =
multiplicarPorEscalar(matriz, num);
mostrarMatriz(multiplicacion);
// Buscar un elemento
[Link](“Ingrese el número a buscar: “);
Int elemento = [Link]();
buscarElemento(matriz, elemento);
[Link]();
}
// 1. Sumar diagonal secundaria de una matriz
cuadrada
Public static int sumaDiagonalSecundaria(int[][]
matriz) {
Int suma = 0;
For (int i = 0; i < [Link]; i++) {
Suma += matriz[i][[Link] – i – 1];
}
Return suma;
}
// 2. Verificar si en la diagonal principal hay solo
números impares
Public static boolean diagonalPrincipalImpares(int[][]
matriz) {
For (int i = 0; i < [Link]; i++) {
If (matriz[i][i] % 2 == 0) {
Return false;
}
}
Return true;
}
// 3. Verificar si la matriz es identidad
Public static boolean esIdentidad(int[][] matriz) {
For (int i = 0; i < [Link]; i++) {
For (int j = 0; j < [Link]; j++) {
If (i == j && matriz[i][j] ¡= 1) return false;
If (i ¡= j && matriz[i][j] ¡= 0) return false;
}
}
Return true;
}
// 4. Sumar dos matrices
Public static int[][] sumarMatrices(int[][] matriz1, int[]
[] matriz2) {
Int[][] suma = new int[[Link]]
[matriz1[0].length];
For (int i = 0; i < [Link]; i++) {
For (int j = 0; j < matriz1[0].length; j++) {
Suma[i][j] = matriz1[i][j] + matriz2[i][j];
}
}
Return suma;
}
// 5. Multiplicar un número real por una matriz
Public static int[][] multiplicarPorEscalar(int[][]
matriz, int escalar) {
Int[][] resultado = new int[[Link]]
[matriz[0].length];
For (int i = 0; i < [Link]; i++) {
For (int j = 0; j < matriz[0].length; j++) {
Resultado[i][j] = matriz[i][j] * escalar;
}
}
Return resultado;
}
// 6. Sumar los elementos por encima de la diagonal
principal
Public static int sumaEncimaDiagonalPrincipal(int[][]
matriz) {
Int suma = 0;
For (int i = 0; i < [Link]; i++) {
For (int j = i + 1; j < [Link]; j++) {
Suma += matriz[i][j];
}
}
Return suma;
}
// 7. Buscar un elemento en la matriz y mostrar la
primera posición
Public static void buscarElemento(int[][] matriz, int
elemento) {
For (int i = 0; i < [Link]; i++) {
For (int j = 0; j < matriz[0].length; j++) {
If (matriz[i][j] == elemento) {
[Link](“El elemento se
encuentra en la posición: (“ + i + “,” + j + “)”);
Return;
}
}
}
[Link](“El elemento no se encuentra en
la matriz.”);
}
// 8. Contar las ocurrencias de un elemento en la
matriz
Public static int contarElemento(int[][] matriz, int
elemento) {
Int contador = 0;
For (int i = 0; i < [Link]; i++) {
For (int j = 0; j < matriz[0].length; j++) {
If (matriz[i][j] == elemento) {
Contador++;
}
}
}
Return contador;
}
// 9. Encontrar el elemento menor en la matriz
Public static int encontrarElementoMenor(int[][]
matriz) {
Int menor = matriz[0][0];
For (int i = 0; i < [Link]; i++) {
For (int j = 0; j < matriz[0].length; j++) {
If (matriz[i][j] < menor) {
Menor = matriz[i][j];
}
}
}
Return menor;
}
// 10. Intercambiar dos filas en la matriz
Public static void intercambiarFilas(int[][] matriz, int
fila1, int fila2) {
Int[] temp = matriz[fila1];
Matriz[fila1] = matriz[fila2];
Matriz[fila2] = temp;
}
// Método para mostrar la matriz
Public static void mostrarMatriz(int[][] matriz) {
For (int i = 0; i < [Link]; i++) {
For (int j = 0; j < matriz[0].length; j++) {
[Link](matriz[i][j] + “ “);
}
[Link]();
}
}
}