package Arrays;

import java.util.Scanner;

public class EjerciciosArrayUni {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //1.- Elaborar un programa que lea y almacene en un array 10 números enteros y una vez terminada la lectura,
        // imprima los 10 números con un formato de salida.

        /*int[] array = new int[5];

        //PRIMERA SOLUCIÓN.
//        System.out.println("Introduce el primer número: ");
//        array[0] = sc.nextInt();
//        System.out.println("Introduce el segundo número: ");
//        array[1] = sc.nextInt();
//        System.out.println("Introduce el tercer número: ");
//        array[2] = sc.nextInt();
//        System.out.println("Introduce el cuarto número: ");
//        array[3] = sc.nextInt();
//        System.out.println("Introduce el quinto número: ");
//        array[4] = sc.nextInt();
//        System.out.println("Introduce el sexto número: ");
//        array[5] = sc.nextInt();
//        System.out.println("Introduce el séptimo número: ");
//        array[6] = sc.nextInt();
//        System.out.println("Introduce el octavo número: ");
//        array[7] = sc.nextInt();
//        System.out.println("Introduce el noveno número: ");
//        array[8] = sc.nextInt();
//        System.out.println("Introduce el décimo número: ");
//        array[9] = sc.nextInt();

        //Leer y almacenar información en el array
        for (int i = 0; i < array.length ; i++) {
            System.out.println("Introduce el número "+(i+1));
            //Se aplica i+1 poruqe al usuario no le importa que empiece por la posición 0,
            // para el empieza de forma orgánica por la 1
            array[i] = sc.nextInt();
        }

        for (int i = 0; i < array.length; i++) {
            System.out.println("Array en la posición " + (i+1) + ": " + array[i]);
        }*/

        //2. Realizar un programa que lea 10 números y calcule la suma de los 10 elementos (utilice arrays
        //para almacenar los valores a sumar).
        /*
        int[] numeros = new int[3];
        int suma = 0;

        for (int i = 0; i < numeros.length; i++) {
            System.out.println("Introduce el número "+(i+1));
            numeros[i] = sc.nextInt();
        }

        for (int i = 0; i < numeros.length; i++) {
            suma+=numeros[i];
            //System.out.println("(PROCESO) La suma es: " + suma);
        }
        //CUIDADO. La suma se muestra cuando se recorren todas las posiciones del array.
        System.out.println("La suma es: " + suma);*/

        //3. Rellenar un vector V de 10 elementos con los cuadrados de los 10 primeros números, del 1 al 10.
        //Muestra los datos por pantalla con un formato adecuado.

        /*int[] vector = new int[10];

        for (int i = 0; i < vector.length; i++) {
            //System.out.println("Introduce el número " + (i+1));
            vector[i] = (i+1)*(i+1);
        }
        for (int i = 0; i < vector.length; i++) {
            System.out.println("Posición " + i + ", resultado: " + vector[i]);
        }*/

        //4. Realizar un programa que lea y almacene 10 números enteros en un array, a continuación que
        //copie los valores almacenados en otro array y compruebe que los datos que almacena cada array
        //son los mismos, para ello mostrar el contenido de ambos arrays por pantalla con un formato de
        //salida que especifique que elementos pertenecen a uno y otro array.

        /*int[] numeros = new int[10];
        int[] numerosCopia //= new int[10]
                ;

        for (int i = 0; i < numeros.length; i++) {
            System.out.println("Introduce el número " + i + ": ");
            numeros[i] = sc.nextInt();
        }
        numerosCopia = numeros;

        for (int i = 0; i < numeros.length; i++) {
            System.out.println("La posición " + i + " de numeros: " + numeros[i]);
            System.out.println("La posición " + i + " de numerosCopia: " + numerosCopia[i]);

            if (numeros[i] == numerosCopia[i]){
                System.out.println("Tiene almacenado el mismo valor en la posición " + i);
            }else {
                System.out.println("No tiene almacenado el mismo valor en la posición " + i);
            }
        }*/

        //5. Realizar un programa que realice la suma de dos vectores de longitud 5. Por ejemplo:

        /*int[] vector1 = {3, 2, 14, 5, 6};
        int[] vector2 = {9, 85, 42, 5, 4};
        int[] suma = new int[vector1.length];

        for (int i = 0; i < suma.length; i++) {
            suma[i] = vector1[i] + vector2[i];
        }
        for (int i = 0; i <suma.length ; i++) {
            System.out.println("Posición "+i+" de SUMA: "+suma[i]);
        }*/

        //6. Realizar un programa que realice el producto de dos vectores de longitud 5. Por ejemplo:

        /*int[] vector1 = {4, 5, 2, 4, 1};
        int[] vector2 = {8, 3, 1, 5, 12};
        int[] multiplicacion = new int[vector1.length];

        for (int i = 0; i < multiplicacion.length; i++) {
            multiplicacion[i] = vector1[i] * vector2[i];
        }

        for (int i = 0; i < multiplicacion.length; i++) {
            System.out.println("Posición "+i+" de MULTIPLICACIÓN: "+multiplicacion[i]);
        }*/

        //7. Realiza un programa que solicite 10 números en total (5 para cada array) [Habrá 2 arrays].
        //Una vez introducidos tendremos que elegir entre sumar, restar, multiplicar o dividir, tras elegir la
        //opción nos va a devolver un array con el resultado de la operación seleccionada.

        int[] array1 = new int[5];
        int[] array2 = new int[5];
        int[] resultado = new int[array1.length];


        for (int i = 0; i < array1.length; i++) {
            System.out.println("Introduce el número " + (i+1) + "para el Array 1: ");
            array1[i] = sc.nextInt();
        }
        for (int i = 0; i < array2.length; i++) {
            System.out.println("Introduce el número " + (i+1) + " para el Array 2: ");
            array2[i] = sc.nextInt();
        }

        for (int i = 0; i < array1.length; i++) {
            System.out.println("Array 1: "+array1[i]);
            System.out.println("Array 2: "+array2[i]);
        }

        System.out.println("Introduce la opción que desea realizar: ");
        System.out.println("1. Sumar");
        System.out.println("2. Restar");
        System.out.println("3. Multiplicar");
        System.out.println("4. Dividir");
        int opcion = sc.nextInt();

        switch (opcion){
            case 1:
                for (int i = 0; i < resultado.length; i++) {
                    resultado[i] = array1[i] + array2[i];
                }
                break;
            case 2:
                for (int i = 0; i < resultado.length; i++) {
                    resultado[i] = array1[i] - array2[i];
                }
                break;
            case 3:
                for (int i = 0; i < resultado.length; i++) {
                    resultado[i] = array1[i] * array2[i];
                }
                break;
            case 4:
                for (int i = 0; i < resultado.length; i++) {
                    resultado[i] = array1[i] / array2[i];
                }
                break;

        }
        for (int i = 0; i < resultado.length; i++) {
            System.out.println("Resultado posición "+i+" "+resultado[i]);
        }





    }
}
