Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aluno: SÉRGIO VITOR DA SILVA JOFFER R.G.M.: 123.408 Polo: CAPITAL - CAMPO GRANDE-MS Data: 3 MAI 20 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 tamanho) { for (int i = 0; i < tamanho; i++) { std::cout << pilha[i] << " - " << std::endl; } std::cout << "\n\n" << std::endl; } void push(int *topo, int *pilha, int tamanho, int x) { if (*topo == tamanho - 1) { std::cout << "Não foi posível adicionar o valor. Pilha cheia!\n" << std::endl; } else { *topo = *topo + 1; pilha[*topo] = x; } } void pop(int *topo, int *pilha, int tamanho) { if (*topo == -1) { std::cout << "A pilha esta vazia!!\n\n" << std::endl; } else { std::cout << "Valor removido: " << pilha[*topo] << std::endl; pilha[*topo] = 0; *topo = *topo - 1; } } Aluno: SÉRGIO VITOR DA SILVA JOFFER R.G.M.: 123.408 Polo: CAPITAL - CAMPO GRANDE-MS Data: 3 MAI 20 void sair() { std::cout << "Encerrando a execução do programa!!" << "\n\n" << std::endl; } int main() { int tamanho, x, opt; int topo = -1; std::cout << "Informe o número de elementos do vetor[]: " << std::endl; std::cin >> tamanho; int *pilha = new int[tamanho]; do { std::cout << "================================" << std::endl; std::cout << "MENU PRINCIPAL" << std::endl; std::cout << "================================" << std::endl; std::cout << "1. EMPILHAR" << std::endl; std::cout << "2. DESEMPILHAR" << std::endl; std::cout << "0. SAIR" << std::endl; std::cin >> opt; switch (opt) { case 0: sair(); break; case 1: std::cout << "Informe o valor a ser empilado: " << std::endl; std::cin >> x; push(&topo, pilha, tamanho, x); imprime_Vetor(pilha, tamanho); break; case 2: pop(&topo, pilha, tamanho); imprime_Vetor(pilha, tamanho); break; default: std::cout << "Opção invalida!" << std::endl; } } while (opt != 0); return 0; }
Compartilhar