edutecnica

Esercizio 5       

Scrivi un programma per realizzare una lista di interi inseriti da tastiera, l'inserimento deve essere effettuato da una funzione (push) che inserisce un elemento in fondo alla lista. Il programma deve prevedere la presenza di una funzione (pop) che toglie l'ultimo elemento inserito dall'utente nella lista, implementando così una struttura a pila.


#include<iostream>
using namespace std;

/* funzione push */
int *push(int *h,int &j) {
cout<<"ins.:";cin>>h[j];
j++;
h[j]=0; //marcatore di fine lista
return h;
}//fine push

/* funzione pop */
int *pop(int *h,int &j) {
j--;
h[j]=0;//marcatore di fine lista
return h;
}//fine pop

main(){
int i,j=0;//j memorizza la lunghezza della lista
int *p=new int;
char ch;
do{
     cout<<"\ni]inserisci\n";
     cout<< "t]togli\n";
     cout<< "x]exit\n";
     cin>>ch;
     ch=tolower(ch);
     switch(ch){
          case 'i':p=push(p,j);break;
          case 't':p=pop(p,j);break;
          default:break;
     }//fine switch

i=0;
do{// routine di stampa
     cout<<p[i]<<" ";
     i++;
}while(p[i]);
}while(ch!='x');
} //fine main