diff --git a/src/capitulo04/bloque02/Ejercicio01.java b/src/capitulo04/bloque02/Ejercicio01.java new file mode 100644 index 0000000..0c35244 --- /dev/null +++ b/src/capitulo04/bloque02/Ejercicio01.java @@ -0,0 +1,20 @@ +package capitulo04.bloque02; + +import static capitulo04.utils.Utils.*; + +public class Ejercicio01 { + public static void main(String[] args) { + int[] nums150 = crearArrayNumsAleatorios(150,-100,100); + + mostrarArrayNums(nums150); + cambiaSignoEnValores(nums150); + System.out.println(); + mostrarArrayNums(nums150); + } + + public static void cambiaSignoEnValores(int array[]) { + for (int i = 0; i < array.length; i++) { + if ((array[i] % 2) == 0) array[i] = -array[i]; + } + } +} diff --git a/src/capitulo04/bloque02/Ejercicio02.java b/src/capitulo04/bloque02/Ejercicio02.java new file mode 100644 index 0000000..6858cb8 --- /dev/null +++ b/src/capitulo04/bloque02/Ejercicio02.java @@ -0,0 +1,33 @@ +package capitulo04.bloque02; + +import static capitulo04.utils.Utils.crearArrayNumsAleatorios; +import static capitulo04.utils.Utils.mostrarArrayNums; + +public class Ejercicio02 { + public static void main(String[] args) { + int[] array1 = crearArrayNumsAleatorios(150, 0, 100); + int[] array2 = crearArrayNumsAleatorios(150, 0, 100); + int[] array3 = creaTercerArray(array1, array2); + + + System.out.print("Array 1: "); + mostrarArrayNums(array1); + System.out.print("\nArray 2: "); + mostrarArrayNums(array2); + System.out.print("\nArray 3: "); + mostrarArrayNums(array3); + + } + + public static int[] creaTercerArray(int a1[], int a2[]) { + int[] array3 = new int[150]; + for (int i = 0; i < a1.length; i++) { + if ((i % 2) == 0) { + array3[i] = a2[i]; + } else { + array3[i] = a1[i]; + } + } + return array3; + } +} diff --git a/src/capitulo04/bloque02/Ejercicio03.java b/src/capitulo04/bloque02/Ejercicio03.java new file mode 100644 index 0000000..28db757 --- /dev/null +++ b/src/capitulo04/bloque02/Ejercicio03.java @@ -0,0 +1,24 @@ +package capitulo04.bloque02; + +import static capitulo04.utils.Utils.*; + +public class Ejercicio03 { + public static void main(String[] args) { + int[] array1 = crearArrayNumsAleatorios(150, 0, 100); + int numMulti = solicitarIntScanner("Indique por qué número quiere multiplicar el Array"); + + + System.out.print("Array Normal: "); + mostrarArrayNums(array1); + + multiplicaValoresPorFactor(array1, numMulti); + + System.out.print("\nArray Multiplicado: "); + mostrarArrayNums(array1); + } + public static void multiplicaValoresPorFactor (int a[], int factor) { + for (int i = 0; i < a.length; i++) { + a[i] *= factor; + } + } +} diff --git a/src/capitulo04/bloque02/Ejercicio04.java b/src/capitulo04/bloque02/Ejercicio04.java new file mode 100644 index 0000000..5dae136 --- /dev/null +++ b/src/capitulo04/bloque02/Ejercicio04.java @@ -0,0 +1,23 @@ +package capitulo04.bloque02; + +import static capitulo04.utils.Utils.crearArrayNumsAleatorios; +import static capitulo04.utils.Utils.mostrarArrayNums; + +public class Ejercicio04 { + public static void main(String[] args) { + int[] array = crearArrayNumsAleatorios(5, 0, 100); + + mostrarArrayNums(array); + desplazaCiclicoDerecha(array); + System.out.println(); + mostrarArrayNums(array); + } + + public static void desplazaCiclicoDerecha(int a[]) { + int tempVar = 0; + for (int i = a.length - 1; i >= 0; i--) { + if (i == a.length - 1) tempVar = a[i]; + a[i] = (i == 0) ? tempVar : a[i - 1]; + } + } +} diff --git a/src/capitulo04/bloque02/Ejercicio05.java b/src/capitulo04/bloque02/Ejercicio05.java new file mode 100644 index 0000000..cc46a29 --- /dev/null +++ b/src/capitulo04/bloque02/Ejercicio05.java @@ -0,0 +1,25 @@ +package capitulo04.bloque02; + +import static capitulo04.utils.Utils.*; + +public class Ejercicio05 { + public static void main(String[] args) { + int[] array = crearArrayNumsAleatorios(5, 0, 100); + int movimientos = solicitarIntScanner("Introduzca cuantas posiciones quiere mover a la derecha el array: "); + + mostrarArrayNums(array); + desplazaCiclicoDerecha(array, movimientos); + System.out.println(); + mostrarArrayNums(array); + } + + public static void desplazaCiclicoDerecha(int a[], int posiciones) { + for (int i = 0; i < posiciones; i++) { + int tempVar = 0; + for (int j = a.length - 1; j >= 0; j--) { + if (j == a.length - 1) tempVar = a[j]; + a[j] = (j == 0) ? tempVar : a[j - 1]; + } + } + } +} diff --git a/src/capitulo04/bloque02/Ejercicio06.java b/src/capitulo04/bloque02/Ejercicio06.java new file mode 100644 index 0000000..e2aa3db --- /dev/null +++ b/src/capitulo04/bloque02/Ejercicio06.java @@ -0,0 +1,48 @@ +package capitulo04.bloque02; + +import static capitulo04.utils.Utils.*; +import static capitulo04.utils.Utils.mostrarArrayNums; + +public class Ejercicio06 { + public static void main(String[] args) { + int[] array = crearArrayNumsAleatorios(5, 0, 100); + int direccion = solicitarIntScanner("Introduzca 0 si quiere mover el array a la izquierda o 1 para moverlo a la derecha."); + int movimientos = solicitarIntScanner("Introduzca cuantas posiciones quiere mover el array: "); + + mostrarArrayNums(array); + desplazaCiclico(array, movimientos, direccion); + System.out.println(); + mostrarArrayNums(array); + } + + public static void desplazaCiclico(int a[], int posiciones, int direccion) { + switch (direccion) { + case 1: + desplazaCiclicoDerecha(a, posiciones); + break; + case 0: + desplazaCiclicoIzquierda(a, posiciones); + break; + } + } + + public static void desplazaCiclicoIzquierda(int a[], int posiciones) { + for (int i = 0; i < posiciones; i++) { + int tempVar = 0; + for (int j = 0; j < a.length; j++) { + if (j == 0) tempVar = a[j]; + a[j] = (j == (a.length - 1)) ? tempVar : a[j + 1]; + } + } + } + + public static void desplazaCiclicoDerecha(int a[], int posiciones) { + for (int i = 0; i < posiciones; i++) { + int tempVar = 0; + for (int j = a.length - 1; j >= 0; j--) { + if (j == a.length - 1) tempVar = a[j]; + a[j] = (j == 0) ? tempVar : a[j - 1]; + } + } + } +} diff --git a/src/capitulo04/utils/Utils.java b/src/capitulo04/utils/Utils.java index f9d1bc5..0ef940d 100644 --- a/src/capitulo04/utils/Utils.java +++ b/src/capitulo04/utils/Utils.java @@ -11,4 +11,17 @@ public class Utils { public static double generarNumAleatorio(int multiplicador) { return Math.random() * multiplicador; } + public static void mostrarArrayNums(int array[]) { + for (int num : array) { + System.out.print(num + " "); + } + } + public static int[] crearArrayNumsAleatorios(int cantidadElementos, int numMinimo, int numMaximo) { + int[] nums = new int[cantidadElementos]; + + for (int i = 0; i < nums.length; i++) { + nums[i] = numMinimo + (int) Math.round(generarNumAleatorio((numMaximo - numMinimo))); + } + return nums; + } }