Advertisement
Jurado001

TP3E2 - principal

Sep 13th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.51 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Principal {
  4.     public static void main(String[] args) {
  5.         int resp,opc=0;
  6.         Pila Pila1=new Pila();
  7.         Pila Pila2=new Pila();
  8.         Scanner S=new Scanner(System.in);
  9.                
  10.         CargarPilas(Pila1,Pila2);
  11.         System.out.println();
  12.         Mostrar(Pila1,Pila2);
  13.         System.out.println();
  14.         do {           
  15.             do {
  16.                 Pila Pila1C=new Pila(Pila1);
  17.                 Pila Pila2C=new Pila(Pila2);
  18.                 Pila NuevaPila=new Pila();
  19.                 Menu();
  20.                 opc=S.nextInt();
  21.                 System.out.println();
  22.                 switch(opc) {
  23.                 case 1:
  24.                     apilar_1sobre2(Pila1C,Pila2C);
  25.                     Mostrar(Pila1C,Pila2C);
  26.                     break;
  27.                 case 2:
  28.                     apilar_2sobre1(Pila1C,Pila2C);
  29.                     Mostrar(Pila1C,Pila2C);
  30.                     break;
  31.                 case 3:
  32.                     apilar_nuevo(Pila1C,Pila2C,NuevaPila);
  33.                     Mostrar3(Pila1C,Pila2C,NuevaPila);
  34.                     break;
  35.                 default:
  36.                     System.out.println("Opcion no valida...");
  37.                 }
  38.             }while(opc!=1 && opc!=2 && opc!=3);
  39.            
  40.             System.out.println("Realizar otra accion: 1:SI  0:NO");
  41.             resp=S.nextInt();
  42.         }while(resp!=0);
  43.         System.out.println();
  44.         System.out.println("Las Pilas iniciales son: ");
  45.         Mostrar(Pila1,Pila2);
  46.     }
  47.    
  48.    
  49.     public static void CargarPilas(Pila Pila1, Pila Pila2) {       
  50.         System.out.println("***** CARGAR PILAS *****");
  51.         System.out.println();
  52.         for(int i=1;i<=2;i++) {
  53.         System.out.println("Ingrese valores a la pila "+i+": ");
  54.         switch (i) {
  55.         case 1:
  56.             Cargar(Pila1);
  57.             break;
  58.         case 2:
  59.             Cargar(Pila2);
  60.             break;
  61.         }
  62.         }
  63.     }
  64.    
  65.     public static void Cargar(Pila Stack) {
  66.         int N,aux;
  67.         Scanner In=new Scanner(System.in);
  68.         System.out.print("Cuantos valores desea ingresar: ");
  69.         N=In.nextInt();
  70.         System.out.println("ingrese los "+N+" valores...");
  71.         for(int j=1;j<=N;j++) {
  72.             aux=In.nextInt();
  73.             Stack.Apilar(aux);
  74.         }
  75.     }
  76.    
  77.     public static void Menu() {
  78.         System.out.println("************* MENU *************");
  79.         System.out.println("1) Apilar primer pila sobre la segunda");
  80.         System.out.println("2) Apilar segunda pila sobre la primera");
  81.         System.out.println("3) Alternadamente apilar un elemento de cada pila en una nueva");
  82.         System.out.println();
  83.         System.out.println("opcion: ");
  84.     }
  85.    
  86.     public static void Mostrar(Pila Pila1,Pila Pila2) {
  87.         System.out.println("Pila 1: ");
  88.         Pila1.Mostrar();
  89.         System.out.println();
  90.         System.out.println("Pila 2: ");
  91.         Pila2.Mostrar();
  92.         System.out.println();
  93.     }
  94.    
  95.     public static void apilar_1sobre2(Pila Pila1C,Pila Pila2C) {
  96.         int aux;
  97.         while (!Pila1C.EstaVacia()) {
  98.             aux=Pila1C.Desapilar();
  99.             Pila2C.Apilar(aux);
  100.         }
  101.     }
  102.    
  103.     public static void apilar_2sobre1(Pila Pila1C,Pila Pila2C) {
  104.         int aux;
  105.         while (!Pila2C.EstaVacia()) {
  106.             aux=Pila2C.Desapilar();
  107.             Pila1C.Apilar(aux);
  108.         }
  109.     }  
  110.    
  111.     public static void apilar_nuevo(Pila Pila1C,Pila Pila2C,Pila NuevaPila) {
  112.         int aux;
  113.         while (!Pila1C.EstaVacia() && !Pila2C.EstaVacia()) {
  114.             aux=Pila1C.Desapilar();
  115.             NuevaPila.Apilar(aux);
  116.             aux=Pila2C.Desapilar();
  117.             NuevaPila.Apilar(aux);
  118.         }
  119.         if(Pila1C.EstaVacia()) {
  120.             while(!Pila2C.EstaVacia()) {
  121.                 aux=Pila2C.Desapilar();
  122.                 NuevaPila.Apilar(aux);
  123.             }
  124.         }
  125.         else {
  126.             while(!Pila1C.EstaVacia()){
  127.                 aux=Pila1C.Desapilar();
  128.                 NuevaPila.Apilar(aux);
  129.             }
  130.         }
  131.     }
  132.    
  133.     public static void Mostrar3(Pila Pila1C, Pila Pila2C, Pila NuevaPila) {
  134.         System.out.println("Pila 1:");
  135.         Pila1C.Mostrar();
  136.         System.out.println();
  137.         System.out.println("Pila 2:");
  138.         Pila2C.Mostrar();
  139.         System.out.println();
  140.         System.out.println("Los numeros en la nueva pila son:");
  141.         NuevaPila.Mostrar();
  142.         System.out.println();
  143.     }
  144.    
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement