Questo sito ha bisogno della pubblicità per poter essere mantenuto. Gentilmente disabilita il blocco della pubblicità nel tuo browser per questo sito web.
Caricamento in corso...Caricamento in corso...
Caricamento in corso...

Pila gestista con vettore senza classe

Costruire una pila usando un vettore

 

/*
PILA GESTITA ATTRAVERSO UN VETTORE 
*/

#include<iostream>
#include<stdio.h>
using namespace std;

void push(int vet[],int n,int *i);
int pop(int vet[],int *i);
void vuoto(int vet[],int *i);  //N.B IL PUNTATORE PER L'INDICE
int mostra(int vet[],int *i);
int elimina(int vet[],int *i);


int main()
{
int n;
int vet[100];
int scelta; 
int i=0;

cout<<"\t\t  PILA GESTITA ATTRAVERSO UN VETTORE : ";
cout<<"\n\n\n1)INSERIRE UN ELEMENTO NELLA PILA";
cout<<"\n\n2)LEGGERE IL TOP DELLA PILA";
cout<<"\n\n3)VERIFICARE SE LA PILA E' VUOTA O NO";
cout<<"\n\n4)MOSTRA LA PILA INSERITA";
cout<<"\n\n5)ELIMINA IL TOPO DELLA PILA";
cout<<"\n\n6)PER TERMINARE IL PROGRAMMA";

do{
cout<<"\n\n          INSERISCI LA SCELTA : ";
cin>>scelta;

switch(scelta)
{
case 1:
     cout<<"DIGITA L'ELEMENTO DA INSERIRE NELLA PILA : ";
     cin>>n;
     push(vet,n,&i);
     break;
     
case 2:
     pop(vet,&i);
     break;
     
case 3:
     vuoto(vet,&i);
     break;   
     
case 4:
     mostra(vet,&i);
     break;
     
case 5:
     elimina(vet,&i);
     break;                
}
}while(scelta<6);

cout<<"\n\n\n";    
system("PAUSE");
}


void push(int vet[],int n,int *i)
{

if(*i<10)
{
*i=*i+1;
vet[*i]=n;   
cout<<"\n\nIL DATO NUMERICO "<<n<<" E' STATO INSERITO NELLA PILA "; 
}
else 
{
cout<<"\n\nLA PILA E' PIENA NON PUOI PIU' INSERIRE ELEMENTI NELLA PILA ";     

}

int pop(int vet[],int *i)
{
if(*i==0)
{
cout<<"\n\nLA PILA E' VUOTA";         
}
else
{
cout<<"\n\nIL TOP DELLA PILA E' "<<vet[*i]<<"\n\n";
}    
}

void vuoto(int vet[],int *i)
{
if(*i==0)
{     
cout<<"\n\nLA PILA E' VUOTA";   
}
else if(*i<10)
{
cout<<"\n\nLA PILA CONTIENE DEI VALORI, QUINDI NON E' VUOTA";   
}
else if(*i==10)
{     
cout<<"\n\nLA PILA E' PIENA";   
}
}

int mostra(int vet[],int *i)
{
int j=0;
if(*i==0)
{
cout<<"\nLA PILA E' VUOTA";          
}
else{
cout<<"\n\nLA PILA INSERITA E' \n\n"; 
for(j=*i;j>0;--j)
{
cout<<"    ";
cout<<vet[j]<<"\n\n";                   
}    

}


int elimina(int vet[],int *i)
{
int j=0;
if(*i==0)
{
cout<<"\n\nLA PILA E' VUOTA";         
}
else
{
cout<<"\n\nIL TOP DELLA PILA CHE SARA' ELIMINATO E' "<<vet[*i]<<"\n\n";
--*i;//N.B decremento 
}
}