Você deverá desenvolver um programa em Linguagem C que execute os seguintes passos: 1 - Preencher uma pilha com os números do seu R.A.; 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).
Soluções para a tarefa
O algoritmo pode ser desenvolvido da seguinte forma:
#include <stdio.h>
#include <stdlib.h>
}pilha;
int empilha (int valor, pilha *p);
int desempilha (pilha *p);
void imprimepilha(pilha *p);
int main( ) {
pilha pilha1;
pilha pilha2;
pilha1.elementos = pilha2.elementos = 0;
empilha(1,&pilha1);
empilha(2,&pilha1);
empilha(3,&pilha1);
empilha(4,&pilha1);
empilha(5,&pilha1);
empilha(6,&pilha1);
empilha(7,&pilha1);
empilha(8,&pilha1);
imprimepilha(&pilha1);
empilha(desempilha(&pilha1),&pilha2);
empilha(desempilha(&pilha1),&pilha2);
imprimepilha(&pilha2);
return 0;
}
int empilha(int valor,pilha *p) {
if (p->elementos==100)
{
printf("Tamanho máximo da pilha excedido.\n");
return 1;
}
int desempilha (pilha *p) {
if (p->elementos==0)
{
p->elementos--;
return p->elemento[p->elementos];
}
void imprimepilha (pilha *p)
{
if (p->elementos == 0)
}
for (int i=0; i<p->elementos; i++)
printf( "%d ", p->elemento[i]);
printf("\n");
return;
}
Algoritmo é uma sequência finita de instruções definidas e sem ambiguidade, onde cada uma deve ser executada mecanicamente ou eletronicamente considerando um intervalo finito de tempo. São muito utilizados na programação.
Bons estudos!