Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
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. 1 #include <iostream> 2 3 using namespace std; 4 5 void imprime_Vetor(int *pilha, int tam){ 6 7 for(int i = 0; i < tam; i++){ 8 cout << pilha[i] << " - "; 9 } 10 cout << "\n\n"; 11 } 12 13 void push(int *topo, int *pilha, int tam, int x){ 14 15 if(*topo == tam - 1){ 16 cout << "Não foi possível adicionar o valor. Pilha cheia!\n"; 17 18 } else{ 19 *topo = *topo + 1; 20 pilha[*topo] = x; 21 } 22 } 23 24 void pop(int *topo, int *pilha, int tam){ 25 26 if(*topo == -1){ 27 cout << "A pilha está vazia!!\n\n"; 28 29 } else{ 30 cout << "Valor removido: " << pilha[*topo] << "\n\n"; 31 pilha[*topo] = 0; 32 *topo = *topo - 1; 33 } 34 } 35 36 37 void sair(){ 38 39 cout << "Encerrando a execução do programa!!\n\n"; 40 } 41 42 int main() 43 { 44 int tam, x, opt; 45 int topo = -1; 46 47 cout << "Informe o número de elementos do vetor: "; 48 cin >> tam; 49 int *pilha = new int[tam]; 50 51 do{ 52 cout << "-------------------------------------------------------" << endl; 53 cout << " MENU " << endl; 54 cout << "-------------------------------------------------------" << endl; 55 cout << "1. EMPILHAR " << endl; 56 cout << "2. DESEMPILHAR " << endl; 57 cout << "0. SAIR " << endl; 58 cout << "-------------------------------------------------------" << endl; 59 60 cin >> opt; 61 62 system("clear"); 63 64 switch(opt){ 65 66 case 0: 67 sair(); 68 break; 69 70 case 1: 71 72 cout << "Informe o valor a ser empilhado: "; 73 cin >> x; 74 push(&topo, pilha, tam, x); 75 imprime_Vetor(pilha, tam); 76 break; 77 78 case 2: 79 80 pop(&topo, pilha, tam); 81 imprime_Vetor(pilha, tam); 82 break; 83 84 default: 85 cout << "Opção inválida! " << endl; 86 } 87 88 } while(opt != 0); 89 90 return 0; 91 }
Compartilhar