SHOW:
|
|
- or go back to the newest paste.
| 1 | /* Estructura de Datos - Facultad de Ingeniería - Universidad Nacional de Jujuy | |
| 2 | ============================================================================= | |
| 3 | */ | |
| 4 | ||
| 5 | /** | |
| 6 | * @Autor: Equipo 5.1 Estructura de Datos. | |
| 7 | /* @Integrantes: | @Carrera: | @DNI: | |
| 8 | | | | |
| 9 | Camacho, Mauro Rodrigo | Ing. Informática | 41.654.090 | |
| 10 | Cabana, Mario Ariel Fernando | Ing. Informática | 42.268.639 | |
| 11 | Cruz, Facundo Emanuel | Ing. Informática | 41.609.573 | |
| 12 | López, Juan Carlos | Ing. Informática | 41.400.550 | |
| 13 | Machaca, Aldo Martin | Ing. Informática | 31.455.538 | |
| 14 | ||
| 15 | * @Ingeniera: Perez Ibarra. | |
| 16 | * @Fecha: 12/10/2020. | |
| 17 | */ | |
| 18 | ||
| 19 | /* | |
| 20 | Trabajo Práctico N°3 / Listas - Cola (Queue) / Ejercicio 1 | |
| 21 | --------------------- --------------------- ------------ | |
| 22 | * Objetivo General: Crear una función, método o subprograma que reciba como parametro una cola y un número, devuelva una cola. | |
| 23 | * Metodología Empleada: Ingresar por consola o aleatoriamente valores para una cola. | |
| 24 | Ingresar un número, del cual se eliminaran sus multiplos en la cola. | |
| 25 | Suprimir todas las apariciones de multiplos de dicho número solicitado. | |
| 26 | Se debe utilizar colas circulares. | |
| 27 | * El funcionamiento será a traves del entorno de desarrollo integrado Eclipse 2020-06(4.16)-(IDE for Java Developers), | |
| 28 | empleando el leguaje de programación Orientado a Objeto Java. | |
| 29 | * Api a utilizar. Paquete:- Java.Util / Clase:- Scanner y - Random. | |
| 30 | * Clase principal: SuprimirMultiplosdeCola. | |
| 31 | * Clases secundarias: Cola, Helper. | |
| 32 | */ | |
| 33 | ||
| 34 | public class SuprimirMultiplosdeCola {
| |
| 35 | ||
| 36 | //------------------- Inicio método Run() -------------------// | |
| 37 | ||
| 38 | public void run(){
| |
| 39 | Cola<Integer> colaInicial; | |
| 40 | Cola<Integer> colaRestringida; | |
| 41 | int respuesta; | |
| 42 | int numero=0; | |
| 43 | int longitud=0; | |
| 44 | do {
| |
| 45 | menu(); | |
| 46 | respuesta=Helper.numeroEntero("Ingrese una opción ........ : ");
| |
| 47 | if ((respuesta==1)||(respuesta==2)) {
| |
| 48 | longitud= Helper.numeroEnteroPositivo("Ingrese la longitud de la Cola......: ");
| |
| 49 | numero=Helper.numeroEntero("Ingrese un número a comparar......: ");
| |
| 50 | colaInicial= new Cola(longitud); | |
| 51 | colaRestringida= new Cola(longitud); | |
| 52 | }else{
| |
| 53 | colaInicial= new Cola(); | |
| 54 | colaRestringida= new Cola(); | |
| 55 | } | |
| 56 | switch(respuesta){
| |
| 57 | case 1 :cargarCola(colaInicial, longitud); | |
| 58 | Helper.MostrarColas(colaInicial,"La Cola ingresada es......: "); | |
| 59 | colaRestringida=suprimirMultiplos(colaInicial, numero); | |
| 60 | Helper.MostrarColas(colaRestringida,"La Cola resultante es......: "); | |
| 61 | break; | |
| 62 | case 2 :CargaColaRandom (colaInicial,longitud); | |
| 63 | Helper.MostrarColas(colaInicial,"La Cola ingresada es......: "); | |
| 64 | colaRestringida=suprimirMultiplos(colaInicial, numero); | |
| 65 | Helper.MostrarColas(colaRestringida,"La Cola resultante es......: "); | |
| 66 | break; | |
| 67 | - | case 3: System.out.println("----------Fin Del Ejercicio1----------");
|
| 67 | + | case 3: System.out.println("----------Fin Del Ejercicio Nº 1----------");//Fin del programa.
|
| 68 | break; | |
| 69 | default: System.out.println("Seleccione una opción valida............");
| |
| 70 | break; | |
| 71 | } //Fin switch. | |
| 72 | } while (respuesta!=3); | |
| 73 | } //Fin run. | |
| 74 | ||
| 75 | //-------------- Menú - SuprimirMultiplosdeCola -------------// | |
| 76 | ||
| 77 | public void menu(){
| |
| 78 | System.out.println("-------------- Menú EJERCICIO 1 -------------------");
| |
| 79 | System.out.println("1) Cagar de manera manual......");
| |
| 80 | System.out.println("2) Cargar de manera random......");
| |
| 81 | System.out.println("3) Salir del Ejercicio 1 ......");
| |
| 82 | } //Fin menu. | |
| 83 | ||
| 84 | //----------------------Cola - Cargar------------------------// | |
| 85 | ||
| 86 | public void cargarCola(Cola<Integer> cola, int capacidad) { //Carga la Cola con enteros de forma manual.
| |
| 87 | int entrada; | |
| 88 | System.out.println("-------------- Cargando la Cola -------------");
| |
| 89 | for (int i=0; i<capacidad; i++) {
| |
| 90 | entrada=Helper.numeroEntero((i+1)+") Ingrese un número.........: "); | |
| 91 | cola.offer(entrada); | |
| 92 | } | |
| 93 | } //Fin cargarCola. | |
| 94 | ||
| 95 | - | public void CargaColaRandom(Cola<Integer> cola,int capacidad){ //Carga la Cola con enteros de forma aleatoria.
|
| 95 | + | public void CargaColaRandom(Cola<Integer> cola,int capacidad){ //Carga la Cola con enteros de forma aleatoria.
|
| 96 | System.out.println("--------------Cola cargada Aleatoriamente -------------");
| |
| 97 | // do {
| |
| 98 | // cola.pool(); | |
| 99 | // }while(cola.size()!=0); | |
| 100 | for(int i = 0;i < capacidad; ++i ) {
| |
| 101 | cola.offer(Helper.random.nextInt(99)-(Helper.random.nextInt(99))); | |
| 102 | } | |
| 103 | }//Fin cargarColaRamdon. | |
| 104 | ||
| 105 | //---Cola - Suprimir elementos especificos (Ejercicio 1)---// | |
| 106 | ||
| 107 | public Cola<Integer> suprimirMultiplos(Cola<Integer> cola, int parametro){
| |
| 108 | Cola<Integer> colaSinMultiplos=new Cola(cola.size()) ; | |
| 109 | do {
| |
| 110 | try {
| |
| 111 | if ((cola.peek()%parametro)!=0) {
| |
| 112 | colaSinMultiplos.add(cola.pool()); | |
| 113 | }else{
| |
| 114 | cola.pool(); | |
| 115 | } //Fin if-else. | |
| 116 | } catch (Exception e) {
| |
| 117 | if (cola.peek()!=0) {
| |
| 118 | colaSinMultiplos.add(cola.pool()); | |
| 119 | }else {
| |
| 120 | cola.pool(); | |
| 121 | }// Fin if-else. | |
| 122 | } | |
| 123 | } while (cola.size()>0); | |
| 124 | return colaSinMultiplos; | |
| 125 | } //fin suprimirMultiplos. | |
| 126 | ||
| 127 | } //Fin class SuprimirMultiplosdeCola. | |
| 128 |