Ir ao conteúdo

Posts recomendados

Postado

programa em Linguagem C, que remova (ou copie) os valores de uma fila, usando as regras de saída de uma pilha e os adicione em uma nova estrutura, fiz o algoritmo que cria a pilha, porém estou me batendo pra entender como vou fazer para tirar um valor da pilha e colocá-lo numa fila. segue o algoritmo:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define tamanho 5
struct tpilha {
int dados[tamanho];
int ini;
int fim;   
};
tpilha pilha;
int op;
void pilha_entrar();
void pilha_sair();
void pilha_mostrar();
void menu_mostrar();
int main(){
setlocale(LC_ALL, "Portuguese");    
op = 1;  
pilha.ini = 0;
pilha.fim = 0;
while (op != 0) {
system("cls");  
pilha_mostrar();
menu_mostrar();
scanf("%d", &op);
switch (op) {
case 1:
pilha_entrar();
break;
case 2:
pilha_sair();
break;
}      
}  
return(0);
}
void pilha_entrar(){
if (pilha.fim == tamanho) {
printf("\nA pilha est? cheia, imposs?vel empilhar um novo elemento!\n\n");          
system("pause");      
}   
else {    
printf("\nDigite o valor a ser empilhado: ");        
scanf("%d", &pilha.dados[pilha.fim]);  
pilha.fim++;  
}  
}
void pilha_sair() {
if (pilha.ini == pilha.fim) {
printf("\nA pilha est? vazia, n?o h? nada para desempilhar!\n\n");          
system("pause");      
}          
else {
pilha.dados[pilha.fim-1] = 0;
pilha.fim--;
}  
}
void pilha_mostrar() {
int i;   
  printf("[  ");         
  for (i = 0; i < tamanho; i++) {
    printf("%d  ", pilha.dados);          
  }
  printf("]\n\n");         
}
void menu_mostrar() {
  printf("\nEscolha uma op??o:\n");        
  printf("1 - Empilhar\n");            
  printf("2 - Desempilhar\n");            
  printf("0 - Sair\n\n");           
}

Postado

@CiroboyBR

11 horas atrás, CiroboyBR disse:

@Guilherme da Jannifer A pilha tem que ter uma função TOP, que retorna  o elemento do topo.

 

Ai você insere na lista assim:

 

enquanto a pilha não for vazia

  lista.adiciona( pilha.top );

  pilha.removeTopo();

 

eu sou novo em programação em C, em qual ponto que eu posso inserir a fila? é necessario fazer a declaração do espaço tambem da fila tambem?

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...