public static void sumaElementosArray() {
    Scanner sc = new Scanner(System.in);
    System.out.println("21. Suma de elementos de un array:");
    int[] array = leerArray(sc);
    int suma = 0;
    for (int num : array) {
        suma += num;
    }
    System.out.println("Suma total: " + suma);
}

public static void mayorYMenorEnArray() {
    Scanner sc = new Scanner(System.in);
    System.out.println("22. Mayor y menor número en un array:");
    int[] array = leerArray(sc);
    int mayor = array[0];
    int menor = array[0];
    for (int num : array) {
        if (num > mayor) mayor = num;
        if (num < menor) menor = num;
    }
    System.out.println("Mayor: " + mayor + ", Menor: " + menor);
}

public static void buscarNumeroEnArray() {
    Scanner sc = new Scanner(System.in);
    System.out.println("23. Buscar un número en un array:");
    int[] array = leerArray(sc);
    System.out.print("Número a buscar: ");
    int buscar = sc.nextInt();
    boolean encontrado = false;
    for (int num : array) {
        if (num == buscar) {
            encontrado = true;
            break;
        }
    }
    System.out.println(encontrado ? "Número encontrado." : "Número no encontrado.");
}

public static void ordenarArrayAscendente() {
    Scanner sc = new Scanner(System.in);
    System.out.println("24. Ordenar array ascendente:");
    int[] array = leerArray(sc);
    Arrays.sort(array);
    System.out.println("Array ordenado: " + Arrays.toString(array));
}

public static void invertirArray() {
    Scanner sc = new Scanner(System.in);
    System.out.println("25. Invertir un array:");
    int[] array = leerArray(sc);
    System.out.print("Invertido: ");
    for (int i = array.length - 1; i >= 0; i--) {
        System.out.print(array[i] + " ");
    }
    System.out.println();
}

public static void contarParesImparesArray() {
    Scanner sc = new Scanner(System.in);
    System.out.println("26. Contar números pares/impares en un array:");
    int[] array = leerArray(sc);
    int pares = 0, impares = 0;
    for (int num : array) {
        if (num % 2 == 0)
            pares++;
        else
            impares++;
    }
    System.out.println("Pares: " + pares + ", Impares: " + impares);
}

public static void eliminarDuplicados() {
    Scanner sc = new Scanner(System.in);
    System.out.println("27. Eliminar elementos duplicados de un array:");
    int[] array = leerArray(sc);
    LinkedHashSet<Integer> set = new LinkedHashSet<>();
    for (int num : array) set.add(num);
    System.out.println("Sin duplicados: " + set);
}

public static void combinarDosArrays() {
    Scanner sc = new Scanner(System.in);
    System.out.println("28. Combinar dos arrays:");
    int[] arr1 = leerArray(sc);
    int[] arr2 = leerArray(sc);
    int[] combinado = new int[arr1.length + arr2.length];
    System.arraycopy(arr1, 0, combinado, 0, arr1.length);
    System.arraycopy(arr2, 0, combinado, arr1.length, arr2.length);
    System.out.println("Combinado: " + Arrays.toString(combinado));
}

public static void promedioNotas() {
    Scanner sc = new Scanner(System.in);
    System.out.println("29. Promedio de notas:");
    int[] notas = leerArray(sc);
    int suma = 0;
    for (int nota : notas) suma += nota;
    double promedio = (double) suma / notas.length;
    System.out.println("Promedio: " + promedio);
}

public static void rotarDerecha() {
    Scanner sc = new Scanner(System.in);
    System.out.println("30. Rotar elementos a la derecha:");
    int[] array = leerArray(sc);
    int temp = array[array.length - 1];
    for (int i = array.length - 1; i > 0; i--) {
        array[i] = array[i - 1];
    }
    array[0] = temp;
    System.out.println("Rotado: " + Arrays.toString(array));
}

// Método auxiliar para leer un array
public static int[] leerArray(Scanner sc) {
    System.out.print("Tamaño del array: ");
    int n = sc.nextInt();
    int[] arr = new int[n];
    System.out.println("Ingresa " + n + " elementos:");
    for (int i = 0; i < n; i++) {
        arr[i] = sc.nextInt();
    }
    return arr;
}
