Baixe o app para aproveitar ainda mais
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> class Pilha { private: int *array; int topo; int capacidade; public: Pilha(int capacidade) { this->capacidade = capacidade; this->array = new int[capacidade]; this->topo = -1; } ~Pilha() { delete[] array; } void exibirPilha() { std::cout << "Pilha: "; for (int i = 0; i <= topo; i++) { std::cout << array[i] << " "; } std::cout << std::endl; } void empilhar(int elemento) { if (topo < capacidade - 1) { topo++; array[topo] = elemento; } else { std::cout << "Pilha cheia. Impossível empilhar." << std::endl; } } void desempilhar() { if (topo >= 0) { topo--; } else { std::cout << "Pilha vazia. Impossível desempilhar." << std::endl; } } }; int main() { int capacidade, escolha, elemento; std::cout << "Informe a capacidade da pilha: "; std::cin >> capacidade; Pilha minhaPilha(capacidade); do { std::cout << "\nMenu:\n1. Exibir Pilha\n2. Empilhar\n3. Desempilhar\n0. Sair\nEscolha: "; std::cin >> escolha; switch (escolha) { case 1: minhaPilha.exibirPilha(); break; case 2: std::cout << "Informe o elemento a ser empilhado: "; std::cin >> elemento; minhaPilha.empilhar(elemento); minhaPilha.exibirPilha(); break; case 3: minhaPilha.desempilhar(); minhaPilha.exibirPilha(); break; case 0: std::cout << "Saindo do programa." << std::endl; break; default: std::cout << "Opção inválida. Tente novamente." << std::endl; } } while (escolha != 0); return 0; }
Compartilhar