Ejercicios Multiples Pilas I

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 1

FCPN – Carrera Informática Lic.

Marcelo Aruquipa

Múltiples Pilas
Lic. Aruquipa Marcelo
EJEMPLO
Mp_PilaE
PilaE
-n
- c[100]
- - tope Objeto Multiple_Pila @Lic. Marcelo Aruquipa
+ nroElem(i)
+ esVacia(i)
+ Pila()
VectorE Estudiante
n=4
+ esLlena(i) + esVacia()
+ adicionar(i,e) + esLlena ()
- max - nom juan info
+ eliminar (i) + adi(elem) monica info
+ llenar(n) - v[max] - carrera marco est
+ eli()
+ llenar(i,n) jose est sonia info
+ nroElem() rodrigo info
+ mostrar()
+ mostrar(i) + llenar(n) alan info lucia info ana info
diego info

+ vaciar(i,z) + mostrar ()
+ vaciar(i,j) + vaciar (p)
+ getN()

Dado un objeto Múltiples Pilas de objetos Estudiante:


a. Determinar la cantidad de estudiantes de la carrera x
b. Llevar el ultimo estudiante al principio de cada pila
c. Agregar una nueva pila con los k-esimos elementos de cada pila
SOLUCION
//a)implementación //c) implementación
int contarEstCarrera(Mp_PilaE w, string carrerax){ agregarKelemPila(Mp_PilaE w, int k){
aux <- new PilaE(); for(i <- 0 to w.getN()-1){
int cont <- 0; if(w.nroElem(i) >= k){
for(i <- 0 to w.getN()-1){ aux <- new PilaE();
while(!w.esVacia(i)){ while(!w.esVacia(i)){
Estudiante x <- w.eliminar(i); aux.adicionar(w.eliminar(i));
if(x.getCarrera() = carrerax) }
cont++; for(j <- 1 to k)
aux.adicionar(i,x); w.adicionar(w.getN()+1,aux.eli())
} w.vaciar(i,aux);
w.vaciar(i,aux); }
} }
} w.setN(w.getN()+1);
}
//b)implementación main(){
llevarUltimoPrimero(Mp_PilaE w){ w <- new Mp_PilaE();
w.llenar(4);
for(i <- 0 to w.getN()-1){
w.mostrar();
Estudiante x <- w.eliminar(i);
//a)
aux <- new PilaE();
print("nro Est carrera: " + contarEstCarrera(w,"info"));
while(!w.esVacia(i)){
aux.adicionar(w.eliminar(i)); //b)
} llevarUltimoPrimero(w);
w.adicionar(i,x); w.mostrar();
w.vaciar(i,aux);
//c)
}
agregarKelemPila(w,2);
w.mostrar();
}
}
1

También podría gustarte