Advertisement
FacundoCruz

TP3E1

Oct 12th, 2020
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 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.
  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.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement