Tanto a fila como a pilha são conjuntos ordenados de itens, porém ambas se diferenciam pelas regras de inserção e remoção de elementos. Na pilha, a entrada e a saída de dados se dão pela mesma extremidade, chamada de topo da pilha. Na fila, a entrada e a saída ocorrem em lugares opostos: a entrada acontece no final da fila e a saída no seu início.
OLIVEIRA, Pietro Martins de; LEON, Rogério de. Estrutura de Dados I. Maringá-PR, Unicesumar, 2019.
Uma pilha não passa de uma estrutura de dados linear que segue a regra LIFO (Last In First Out). Em uma pilha, tanto a inserção quanto a exclusão ocorrem a partir de apenas uma extremidade, ou seja, a partir do topo.
Considere o seguinte cenário:
Imagine que você tem 5 pratos de cores distintas: (1) Vermelho, (2) Verde, (3) Azul, (4) Branco e (5) Laranja e precisa mantê-los um em cima do outro. Você começa colocando o prato de cor vermelha sobre a mesa. Este é o primeiro elemento da pilha. Em seguida, você coloca o verde em cima do vermelho. Este é o segundo elemento da pilha. Da mesma forma, você coloca o prato azul seguido do branco e, finalmente, o laranja.
Note que o primeiro prato que você inseriu na pilha foi o vermelho, e agora você quer ordena-los de forma inversa: 5, 4, 3, 2 e 1.
A partir dessas informações você deverá desenvolver um programa em Linguagem C que execute os seguintes passos:
1 - Preencher uma pilha com os cinco pratos citados acima;
2 - Imprimir a pilha na ordem em que os elementos foram inseridos (iniciando pela base, e finalizando pelo topo);
3 – Desempilhar todos os elementos, inserindo-os em uma segunda estrutura de dados do tipo pilha;
4 - Imprimir a nova pilha na ordem em que os elementos foram inseridos (iniciando pela base, e finalizando pelo topo).
---------------------------------------------------------------------------------
✅ MATERIAL INDIVIDUAL
✅ SEM PLÁGIO
✅ NOTA MÁXIMA
✅ DESENVOLVIDO COM RESPONSABILIDADE PARA VOCÊ
>>> WATTSAPP - (49) 98801-8434 ♂️✅ <<<
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
✅ MATERIAL INDIVIDUAL
✅ SEM PLÁGIO
✅ NOTA MÁXIMA
✅ DESENVOLVIDO COM RESPONSABILIDADE PARA VOCÊ
>>> WATTSAPP - (49) 98801-8434 ♂️✅ <<<
---------------------------------------------------------------------------------
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
Consulte a nossa assessoria pelo
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
Consulte a nossa assessoria pelo
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
.
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
Consulte a nossa assessoria pelo
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
Consulte a nossa assessoria pelo
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
.;
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
Consulte a nossa assessoria pelo
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
Consulte a nossa assessoria pelo
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
,.;
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
Consulte a nossa assessoria pelo
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
;.
Respostas
Resposta:
#include <stdio.h>
#include <stdlib.h>
#define TAMANHO 100
void push(char *valor);
void push2(char *prato);
char *pop();
char vetor[TAMANHO][100];
int posicao = 0;
int main()
{
push("vermelho");
push("Verde");
push("azul");
push("branco");
push("laranja");
printf("\n");
system("pause");
system("cls");
printf("desempilhou o prato:laranja %s\n", pop());
printf("desempilhou o prato:branco %s\n", pop());
printf("desempilhou o prato:azul %s\n", pop());
printf("desempilhou o prato:verde %s\n", pop());
printf("desempilhou o prato:vermelho %s\n", pop());
printf("\n");
system("pause");
system("cls");
push("vermelho");
push("verde");
push("azul");
push("branco");
push("laranja");
printf("\n");
system("pause");
system("cls");
printf("desempilhou o prato:laranja %s\n", pop());
printf("desempilhou o prato:branco %s\n", pop());
printf("desempilhou o prato:azul %s\n", pop());
printf("desempilhou o prato:verde %s\n", pop());
printf("desempilhou o prato:vermelho %s\n", pop());
printf("\n");
system("pause");
system("cls");
push("vermelho");
push("verde");
push("azul");
push("branco");
push("laranja");
}
void push(char *valor)
{
if(posicao == TAMANHO)
printf("Estouro de pilha\n");
else
{
posicao++;
printf("empilhou prato: %s\n", valor);
}
}
void push2(char *prato)
{
if(posicao == TAMANHO)
printf("Estouro de pilha\n");
else
{
posicao++;
printf("cor: %s", prato);
}
}
char *pop()
{
if(posicao > 0)
{
posicao--;
return vetor[posicao];
}
else
{
printf("Pilha vazia\n");
return "";
}
}
Explicação:
unidade 2----- aula 4 e 5
unidade 3-----aula 7 e 8
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣
Consulte a nossa assessoria pelo
➖ - ➖ - ➖ - ➖-➖ - ➖ - ➖ - ➖
NÚMERO: ➖➖➖➖➖****
➖➖ 1️⃣*5️⃣ ** 9️⃣ 9️⃣ 6️⃣ 2️⃣ 6️⃣ ** 5️⃣ 9️⃣ 3️⃣ 7️⃣