Matrices Java

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

Crear una matriz de 3×3 con los números del 1 al 9. Mostrar por pantalla, tal como aparece en la matriz.

public class Ejercicio_1 {


 
    public static void main(String[] args) {
         
        int matriz[][]=new int[3][3];
         
        //i = filas y j = columnas
        for(int i=0;i<matriz.length;i++){
            for(int j=0;j<matriz[0].length;j++){
                matriz[i][j]=(i*matriz.length)+(j+1);
                System.out.print(matriz[i][j]+" ");
                 
            }
            System.out.println("");
        }
         
    }
     
}
Crear una matriz de 5 filas y n columnas (se pide al usuario). Rellenarlo con números aleatorios entre 0 y 10.
import java.util.Scanner;

 public class Ejercicio_2 {


 
    
    public static void main(String[] args) {
         
        Scanner sn=new Scanner(System.in);
         
        System.out.println("Escriba un numero de columnas");
        int columnas=sn.nextInt();
         
        int matriz[][]=new int[5][columnas];
         
        for(int i=0;i<matriz.length;i++){
            for(int j=0;j<matriz[0].length;j++){
                matriz[i][j]=generaNumAleatorio(0,9);
                System.out.print(matriz[i][j]+" ");
            }
            System.out.println("");
             
        }
         
    }
     
    public static int generaNumAleatorio(int minimo,int maximo){
         
        return (int)Math.floor(Math.random()*(minimo-(maximo+1))+(maximo+1));
         
    }
     
}
Crear dos matrices de nxn y sumar sus valores, los resultados se deben almacenar en otra matriz. Los valores y la
longitud, seran insertados por el usuario. Mostrar las matrices originales y el resultado.

import java.util.Scanner;
 
public class Ejercicio_3 {
 
    public static void main(String[] args) {
         
        Scanner sn=new Scanner(System.in);
         
        System.out.println("Escribe un tamaño");
        int tamanio=sn.nextInt();
         
        int matriz1[][]=new int[tamanio][tamanio];
        int matriz2[][]=new int[tamanio][tamanio];
         
        int resultado[][]=new int[tamanio][tamanio];
         
        for(int i=0;i<matriz1.length;i++){
            for(int j=0;j<matriz1[0].length;j++){
                 
                System.out.println("Escriba el valor para la fila "+i+" y columna "+j+" de
la matriz 1");
                matriz1[i][j]=sn.nextInt();
                System.out.println("Escriba el valor para la fila "+i+" y columna "+j+" de
la matriz 2");
                matriz2[i][j]=sn.nextInt();
                 
                resultado[i][j]=matriz1[i][j]+matriz2[i][j];
            }
        }
         
        System.out.println("Matriz 1");
        muestraMatriz(matriz1);
         
        System.out.println("Matriz 2");
        muestraMatriz(matriz2);
         
        System.out.println("Matriz resultante");
        muestraMatriz(resultado);
                 
    }
     
    public static void muestraMatriz(int[][] matriz){
     
        for(int i=0;i<matriz.length;i++){
            for(int j=0;j<matriz[0].length;j++){
                System.out.print(matriz[i][j]+" ");
            }
            System.out.println("");
        }
         
    }
     
}
 Nos piden crear una matriz de 4×4 de números enteros que inicialmente esta vacía, nos piden hacer un menú con
estas opciones:

 Rellenar TODA la matriz de números, debes pedírselo al usuario.


 Suma de una fila que se pedirá al usuario (controlar que elija una correcta)
 Suma de una columna que se pedirá al usuario (controlar que elija una correcta)
 Sumar la diagonal principal (ver ejemplo)
 Sumar la diagonal inversa (ver ejemplo)
 La media de todos los valores de la matriz
IMPORTANTE: hasta que no se haga la primera opción, el resto de opciones no se deberán de ejecutar, simplemente
mostrar un mensaje donde diga que debes rellenar la matriz.

import java.util.Scanner;
 
/**
 * Ejercicio 4 de matrices
 *
 * @author Discoduroderoer
 */
public class Ejercicio_matrices_DDR_04 {
 
    public static void main(String[] args) {
 
        Scanner sn = new Scanner(System.in);
 
        //Matriz cuadrada de 4x4
        int matriz[][] = new int[4][4];
 
        //Variables utilizadas
        boolean salir = false;
        int opcion, fila, columna;
 
        //Utilizado para indicar si hemos entrado en la 1ª opcion
        boolean rellenado = false;
 
        //Menu
        do {
 
            //Mensajes del menu
            System.out.println("Menu");
            System.out.println("1. Rellenar Matriz");
            System.out.println("2. Sumar fila");
            System.out.println("3. Sumar columna");
            System.out.println("4. Suma diagonal principal");
            System.out.println("5. Suma diagonal inversa");
            System.out.println("6. Media elementos");
            System.out.println("7. Salir");
            System.out.println("Elije una opcion");
            opcion = sn.nextInt();
 
            switch (opcion) {
                case 1:
 
                    rellenarMatriz(sn, matriz);
 
                    //Ahora si podemos acceder al resto de opciones
                    rellenado = true;
 
                    break;
                case 2:
 
                    if (rellenado) {
 
                        //Validamos la fila
                        do {
 
                            System.out.println("Elige una fila");
                            fila = sn.nextInt();
 
                        } while (!(fila >= 0 && fila < matriz.length));
 
                        System.out.println("La suma de los valores de la fila " + fila
                                + " es: " + sumaFila(matriz, fila));
 
                    } else {
                        System.out.println("Debes rellenar la matriz primero");
                    }
 
                    break;
                case 3:
 
                    if (rellenado) {
 
                        //Validamos la colunma
                        do {
 
                            System.out.println("Elige una fila");
                            columna = sn.nextInt();
 
                        } while (!(columna >= 0 && columna < matriz.length));
 
                        System.out.println("La suma de los valores de la columna " +
columna
                                + " es: " + sumaColumna(matriz, columna));
 
                    } else {
                        System.out.println("Debes rellenar la matriz primero");
                    }
 
                    break;
                case 4:
 
                    if (rellenado) {
 
                        System.out.println("La suma de la diagonal principal es: " +
sumaDiagonalPrinc(matriz));
 
                    } else {
                        System.out.println("Debes rellenar la matriz primero");
                    }
 
                    break;
                case 5:
 
                    if (rellenado) {
 
                        System.out.println("La suma de la diagonal inversa es: " +
sumaDiagonalInversa(matriz));
 
                    } else {
                        System.out.println("Debes rellenar la matriz primero");
                    }
 
                    break;
                case 6:
 
                    if (rellenado) {
 
                        System.out.println("La media de los valores de la "
                                + "matriz es de " + media(matriz));
 
                    } else {
                        System.out.println("Debes rellenar la matriz primero");
                    }
 
                    break;
                case 7:
                    salir = true;
                    break;
                default:
                    System.out.println("Tienes que meter un valor entre 1 y 7");
 
            }
 
        } while (!salir);
 
        System.out.println("FIN");
 
    }
 
    /**
     * Rellena la matriz con valores insertados por el usuario
     *
     * @param sn
     * @param matriz
     */
    public static void rellenarMatriz(Scanner sn, int[][] matriz) {
 
        for (int i = 0; i < matriz.length; i++) {
            for (int j = 0; j < matriz[0].length; j++) {
 
                System.out.println("Escribe un numero en la posicion " + i + " " + j);
                matriz[i][j] = sn.nextInt();
 
            }
        }
 
    }
 
    /**
     * Suma los valores de una determinada fila
     *
     * @param matriz
     * @param fila
     * @return
     */
    public static int sumaFila(int[][] matriz, int fila) {
 
        int suma = 0;
 
        for (int j = 0; j < matriz.length; j++) {
            suma += matriz[fila][j];
        }
 
        return suma;
 
    }
 
    /**
     * Suma los valores de una determinada columna
     *
     * @param matriz
     * @param columna
     * @return
     */
    public static int sumaColumna(int[][] matriz, int columna) {
 
        int suma = 0;
 
        for (int i = 0; i < matriz.length; i++) {
            suma += matriz[i][columna];
        }
 
        return suma;
 
    }
 
    /**
     * Suma los valores de la diagonal principal de la matriz
     *
     * @param matriz
     * @return
     */
    public static int sumaDiagonalPrinc(int[][] matriz) {
 
        int suma = 0;
 
        for (int i = 0, j = 0; i < matriz.length; i++, j++) {
            suma += matriz[i][j];
        }
 
        return suma;
 
    }
 
    /**
     * Suma los valores de la diagonal inversa de la matriz
     *
     * @param matriz
     * @return
     */
    public static int sumaDiagonalInversa(int[][] matriz) {
 
        int suma = 0;
 
        for (int i = 0, j = 3; i < matriz.length; i++, j--) {
            suma += matriz[i][j];
        }
 
        return suma;
 
    }
 
    /**
     * Media de todos los elementos de la matriz
     *
     * @param matriz
     * @return
     */
    public static double media(int[][] matriz) {
 
        double suma = 0, media;
 
        for (int i = 0; i < matriz.length; i++) {
            for (int j = 0; j < matriz[0].length; j++) {
                suma += matriz[i][j];
            }
        }
        media = suma / (matriz.length * matriz.length);
        return media;
 
    }
 
}

También podría gustarte