Buscar

atividade 7 estrut dados OK

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ESTRUTURA DE DADOS I
ATIVIDADES DA AULA 07
Faça um programa na linguagem C/C++ que implemente uma Pilha por meio de um vetor de inteiros, de tamanho n, alocado dinamicamente. A implementação deverá contemplar as operações de inserção e remoção de elementos na Pilha. Para isso, o programa deverá apresentar um menu para que o usuário possa escolher a operação desejada. Após cada operação realizada a Pilha deverá ser apresentada na tela.
#include <iostream>
using namespace std;
void imprime_Vetor(int *pilha, int tam){
for(int i=0;i<tam; i++){
cout << pilha[i] <<"-";
}
cout << "\n\n";
}
void push(int *topo, int *pilha, int tam, int x){
if(*topo == tam-1){
cout << "Não foi possivel adicionar o valor. Pilha cheia!\n";
}else{
*topo=*topo+1;
pilha[*topo]=x;
}
}
void pop(int *topo, int *pilha, int tam){
if(*topo == -1){
cout << "A pilha esta vazia!!\n\n";
}else{
cout << "Valor removido:"<< pilha[*topo] << "\n\n";
pilha[*topo]=0;
*topo=*topo-1;
}
}
void sair(){
cout << "Encerrando a execucao do programa!!\n\n";
}
int main()
{
int tam, x, opt;
int topo=-1;
cout << "Informe o numero de elementos do vetor: ";
cin >> tam;
int *pilha=new int[tam];
do{
cout <<"----------------------------------"<< endl;
cout <<"MENU "<< endl;
cout <<"----------------------------------"<< endl;
cout << "1. EMPILHAR"<< endl;
cout << "2. DESEMPILHAR"<< endl;
cout << "0. SAIR "<< endl;
cout <<"----------------------------------"<<endl;
cin >> opt;
switch(opt){
case 0:
sair();
break;
case 1:
cout << "Informe o valor a ser empilhado: ";
cin >> x;
push(&topo, pilha, tam, x);
imprime_Vetor(pilha, tam);
break;
case 2:
pop(&topo, pilha, tam);
imprime_Vetor(pilha, tam);
break;
default:
cout << "Opção invalida!"<< endl;
}
}while(opt != 0);
return 0;
}

Continue navegando

Outros materiais