Vous êtes sur la page 1sur 3

//NOMBRE DE LA DISCOTECA: SARAO INTERNACION

JR: INMACULADA 227 (AL COSTADO DEL TRAPICHE HAY UN CHIFA, AL COSTADO DEL CHIFA ESTA
EL
SARAO INTERNACIOL)

CERVEZA S/6
SANJUAN -PILSEN-CRISTAL

psdt:con el tiket se puede entar y participar en una caja de cerveza


tiene piscina pa ba�ar
regalos juegos,dj invitado de espa�a XD
este sabado .. 21 XD
-----------------------------------------------------------------------------------
ejercicios de Pilas:

1_realizar un programa que ingrese elementos en una pila y multiplique sus


elementos
por un numero ingresado. el programa debe contener un menu push, pop, mostrar pila
y multiplicarpila.

#include<iostream.h>
#include<conio.h>

struct nodo{ int nro; struct nodo * sgte;};


typedef nodo *ptrPila;

void imprimir(ptrPila);
void push(ptrPila &, int);
int pop(ptrPila &);
void multiplicar(ptrPila &, int);

void main(void)
{ ptrPila p=NULL;
int opc,n,elem;
do{
cout<<"1 APILAR"<<endl;
cout<<"2 NUMERO A MULTIPLICAR"<<endl;
cout<<"3 MOSTRAR"<<endl;
cout<<"4 Salir"<<endl;
cout<<"Ingrese una opcion";
cin>>opc;
switch(opc)
{case 1:cout<<"Apilar Valor";cin>>n;
push(p,n); break;
case 2:cout<<"NUMERO...."<<endl;cin>>elem;
multiplicar(p,elem);break;

case 3:cout<<"LA PILA ES *-*"<<endl;


imprimir(p);break;

}
}while(opc!=4);
}
//Funci�n para insertar elementos en la pila
void push(ptrPila &p, int n)
{ ptrPila q=new(struct nodo);
q->nro=n;
q->sgte=p;
p=q; }
//Funci�n para eliminar elementos en la pila
int pop(ptrPila &p)
{ int n=p->nro;
ptrPila q=p;
q=p;
p=p->sgte;
delete (q);
return n; }

//Funci�n para visualizar elementos en la pila


void imprimir(ptrPila p)
{ while(p!=NULL)
{cout<<p->nro<<endl;
p=p->sgte; }
cout<<endl; }

void multiplicar(ptrPila &p, int elem)


{ptrPila q;
q=p;
while(q!=NULL){
q->nro=q->nro*elem;
q=q->sgte;}
}
------------------------------------------------------------------------------
EJERCICIO 2:
pila 1 ,pila 2-- y mostrar en una tercer pila 3

void unir(ptrpila &p1,ptrpila &p2)


{ptrpila q=p1;
while(q->sgte!=NULL)
q=q->sgte;
q->sgte=2;

-------------------------------------------------------------------------------

3_ REALICE UN PROGRAMA QUE DIVIDA UNA PILA EN DOS DE ACUERDO A UN NUMERO DADO, LAS
DOS PILAS FINALES DEBEN GUARDARSE EN EL MISMO
ORDEN ORIGINAL

ptrpila
8 9 6 5 4 3
num=3

P1
8 9 6
P2
5 4 3
//funciond de unir
void dividir(ptrpila &p1,ptrpila &p2,int n)
{ptrpila q,o;
q=p;
for(int i=0;i<n-1;i++)
q=q->sgte;
o=q->sgte;
q->sgte=NULL;
z=o;
}