From e3b900393cc10be6eb251669137e53e3571553c5 Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Fri, 25 Oct 2024 12:46:24 +0200 Subject: [PATCH] Ejercicio D terminado --- .../examenes/examen20241025/Ejercicio_d.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/java/examenes/examen20241025/Ejercicio_d.java diff --git a/src/main/java/examenes/examen20241025/Ejercicio_d.java b/src/main/java/examenes/examen20241025/Ejercicio_d.java new file mode 100644 index 0000000..cbdf0dd --- /dev/null +++ b/src/main/java/examenes/examen20241025/Ejercicio_d.java @@ -0,0 +1,39 @@ +package examenes.examen20241025; + +import static examenes.examen20241025.utils.Utils.*; + +public class Ejercicio_d { + public static void main(String[] args) { + + //Generamos el array y pedimos los límites + int[] arrayAleatorio = crearArrayNumsAleatorios(100, 0, 100); + System.out.println("Elija entre que posiciones quiere ordenar un array de 100 elementos"); + int limiteMin = solicitarIntScanner("Introduzca el límite mínimo: "), + limiteMax = solicitarIntScanner("Introduzca el límite máximo"); + + //Mostramos el array sin ordenar + System.out.println("Sin ordenar:"); + mostrarArrayNums(arrayAleatorio); + //Lo mostramos ordenado + System.out.println("\nOrdenado Parcial:"); + mostrarArrayNums(ordenarArrayParcial(arrayAleatorio, limiteMin, limiteMax)); + } + + public static int[] ordenarArrayParcial(int[] array, int min, int max) { + boolean ordenando; + //Ordenamos con burbuja + do { + ordenando = false; + //Indicamos donde empezar y hasta donde llegar, pero evitando que nos pasemos + for (int i = min; i < (max <= array.length ? max : array.length); i++) { + if (i != (array.length - 1) && array[i] > array[i + 1]) { + int tempNum = array[i]; + array[i] = array[i + 1]; + array[i + 1] = tempNum; + ordenando = true; + } + } + } while (ordenando); + return array; + } +} \ No newline at end of file