Eu estou tendo que fazer para sexta feira um trabalho para a faculdade em linguagem C mas ainda não entendi como fazer.
A questão é criar uma pilha utilizando meu RA e depois preciso desempilhar e jogar os números para outra pilha fazendo com que meu RA fique invertido, porém não estou sabendo jogar o elemento que eu desempilho para a pilha 2.
Até agora foi isso que eu consegui fazer, e mesmo assistindo as aulas da faculdade de novo ainda não entendi como se faz isso. Por favor alguém me de uma luz, me explique o que fazer.
#include <stdio.h>
#include <stdlib.h>
#define tamanho 8
typedef struct tipo_pilha{
int dados[tamanho];
int ini;
int topo;
}tipo_pilha;
tipo_pilha pilha1;
tipo_pilha pilha2;
void empilha(int elemento, tipo_pilha *pilha){
if(pilha->topo == tamanho){
printf("Pilha cheia.\n");
system("pause");
}
else
{
pilha->dados[pilha->topo] = elemento;
pilha->topo++;
}
}
int desempilha(tipo_pilha *pilha){
int elemento;
if(pilha->topo == pilha->ini){
system("pause");
}
else
{
pilha->topo--;
elemento = pilha->dados[pilha->topo];
return elemento;
}
}
void imprimir (tipo_pilha *pilha){
int i;
printf ("\n\nImprime:");
for (i=0; i<tamanho; i++){
printf("%d", pilha->dados[i]);
}
}
int main(){
pilha1.topo = 0;
pilha1.ini = 0;
pilha2.topo = 0;
pilha2.ini = 0;
int aux;
empilha(1, &pilha1);
empilha(9, &pilha1);
empilha(1, &pilha1);
empilha(0, &pilha1);
empilha(3, &pilha1);
empilha(9, &pilha1);
empilha(4, &pilha1);
empilha(1, &pilha1);
imprimir(&pilha1);
imprimir(&pilha2);
}