Buscar

Atividade 7 - Estruturas de Dados I

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

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
Você viu 3, do total de 4 páginas

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>
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;
}

Outros materiais