class P_Doble
{
public static void main(String x[])
{
Pila_Doble pd;
pd= new Pila_Doble();
int num,opc;
do
{
System.out.println("\n\nº-º-º Menu Pila Doble º-º-º ");
System.out.print("\nº-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º");
System.out.print("\nº 1.Introducir un elemento º");
System.out.print("\nº 2.Eliminar un elemento º");
System.out.print("\nº 3.Mostrar elemento de tope º");
System.out.print("\nº 4.Consultar todos º");
System.out.print("\nº 5.Salir º");
System.out.print("\nº-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º-º");
opc=Aleatorio.generaNum(1,5);
System.out.print("\n\n Seleccion Aleatoria: "+opc);
switch(opc)
{
case 1: pd.Push_Insertar();
break;
case 2: pd.Pop_Eliminar();
break;
case 3: pd.verTope();
break;
case 4: pd.mostrarTodosE();
break;
default: System.out.print("\n ¡¡¡ G O O D B Y E !!!");
}
}
while(opc <= 4);
}
}
/* Nombre: Pila_Doble
Alumno: Luis Alberto Ochoa Bernal
Fecha: 30/09/06 */
class Pila_Doble
{
private int tope1,num,tope2;
private int tamaño=30;
private int pila[];
//Constructor
//------------------------------------------------------------------------
Pila_Doble()
{
tope1=-1;
tope2=tamaño+1;
pila=new int[tamaño];
}
// Metodo para introducir un elemento a la pila
//------------------------------------------------------------------------
public void Push_Insertar()
{
System.out.print("\n Pila 1: \n Pila 2:");
int num= Aleatorio.generaNum(1,2);
if(num==1)
{
System.out.print("\n ---- Es la Pila 1 ----");
if(!pilaLLena(tope1,tope2))
{
System.out.print("\nDame Nuevo --->");
int nuevo=Teclado.readInt();
tope1++;
if(tope1==tamaño)
tope1--;
if(tope1==tope2-1)
tope2++;
pila[tope1]=nuevo;//Nuevo Elemento
}
else
{
System.out.print("\n ¡¡¡ Pila 1 llena !!!");
}
}
//------------------------------------------------------------------------
if(num==2)
{
System.out.print("\n ---- Es Pila 2 ----");
if(!pilaLLena(tope1,tope2))
{
System.out.print("\nDame Nuevo --->");
int nuevo=Teclado.readInt();
tope2--;
if(tope2==0)
tope2--;
pila[tope2-1]=nuevo;//Nuevo Elemento
}
else
{
System.out.print("\n ¡¡¡ Pila 2 llena !!!");
}
}
}
// Metodo para extraer un elemento de la pila
//------------------------------------------------------------------------
public void Pop_Eliminar()
{
int num=Aleatorio.generaNum(1,2);
if(num==1)
{
if(pilaVacia1()==true)
{
System.out.print("\n ¡¡¡ Pila 1 Vacia !!!");
}
else
{
int x=pila[tope1];
tope1--;
}
}
if(num==2)
{
if(pilaVacia2()==true)
{
System.out.print("\n ¡¡¡ Pila 2 Vacia !!!");
}
else
{
if(tope2==tamaño)
tope2--;
int x=pila[tope2];
tope2++;
}
}
}
// Metodo para checar si la pila esta vacia
//------------------------------------------------------------------------
public boolean pilaVacia1()
{
boolean resp;
if(tope1==-1)
resp=true;
else
resp=false;
return(resp);
}
//------------------------------------------------------------------------
public boolean pilaVacia2()
{
boolean resp;
if(tope2==tamaño+1)
resp=true;
else
resp=false;
return(resp);
}
// Metodo para checar si la pila esta llena
//------------------------------------------------------------------------
public boolean pilaLLena(int tope1, int tope2)
{
boolean resp=false;
if(tope2-tope1==1)
{resp=true;}
else if(tope2-tope1!=1)
{resp=false;}
return resp;
}
// Metodo para mostrar el tope
//------------------------------------------------------------------------
public void verTope()
{
num=Aleatorio.generaNum(1,2);
if(num==1)
verTope1();
if(num==2)
verTope2();
}
public void verTope1()
{
System.out.print("\n\n º-º-º tope 1 º-º-º");
if(!pilaVacia1())
{
int x=pila[tope1];
System.out.print("\n Elemento del Tope 1: "+x);
}
else
{
System.out.print("\n ¡¡¡ Pila 1 Vacia !!!");
}
}
//------------------------------------------------------------------------
public void verTope2()
{
if(num==2)
{
System.out.print("\n\n º-º-º tope 2 º-º-º");
if(!pilaVacia2())
{
int x;
x=pila[tope2];
System.out.print("\n Elemento del Tope 2: "+x);
}
else
{
System.out.print("\n ¡¡¡ Pila 2 Vacia !!!");
}
}
}
// Metodo para mostrar todos los elementos de la pila
//------------------------------------------------------------------------
public void mostrarTodosE()
{
if(!pilaVacia1())
{
for(int i=0; i<=tope1; i++)
{
int x=pila[i];
System.out.print("\n Elemento de la Pila 1: "+x);
}
}
else
{
System.out.print("\n ¡¡¡ Pila 1 Vacia !!!");
}
if(!pilaVacia2())
{
for(int i=tope2; i<tamaño; i++)
{
int x=pila[i];
System.out.print("\n Elemento de la Pila 2: "+x);
}
}
else
{
System.out.print("\n ¡¡¡ Pila 2 Vacia !!!");
}
}
//------------------------------------------------------------------------
}
/** Programa que dice si un numero ingresado es Cuadrado Perfecto Autor: **/ class CuadPerF { public static void main(String arr[]) { int num; double sum,r; System.out.print("\n Ingrese Numero:"); num = Teclado.readInt(); sum = Math.sqrt(num); r = sum; if(r%2 ==0) { ...
Comentarios
Publicar un comentario