En este ejercicio vamos a consegir una matriz de dimensiones n x n dadas por el usuario.
Los elementos de la matriz tendran valores del 0 al 9 , si la matriz fuera de 10 elementos(10 x 10), obtendriamos el siguiente resultado, con el mismo número en las diagonales
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 |
3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 |
4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 |
5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 |
6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 |
7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
La función mostrar simplemente muestra la matriz recorriendola fila a fila.
La función diagolnal calcula la suma de filas + columnas y lo asigna a cada elemento de la matriz, si es mayor que 10 el sumatorio de filas y columnas hará el sumatorio de filas y columnas modulo de 10 para asignarle este valor al elemento de la matriz.
Tenemos en cuenta que en Java los arrays se pasan por referencia.
package aplicacion1; import java.util.Scanner; /** * * @author Javi */ public class diagonales { public static void mostrar(int mat[][]){ for (int i=0;i<mat.length;i++){ for(int j=0;j<mat[i].length;j++){ System.out.print(mat[i][j]); } System.out.println(" "); } } public static int[][] diagonal(int mat[][]){ for (int i=0;i<mat.length;i++){ for(int j=0;j<mat[i].length;j++){ if(i+j>=10){ int total=(i+j)%10; mat[i][j]=total; }else{ mat[i][j]=i+j; } } } return mat; } public static void main(String[] args) { Scanner miteclado = new Scanner(System.in); System.out.println("cuantos filas tiene la matriz?"); int filas = miteclado.nextInt(); int matriz[][]; matriz = new int[filas][filas]; diagonal(matriz); mostrar(matriz); } }
Espero que les haya gustado queda muy bonita 😆