Ir ao conteúdo
  • Cadastre-se

Rograma em linguagem c, que remova (ou copie) os valores de uma fila, usando as


Posts recomendados

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

Link para o comentário
Compartilhar em outros sites

@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?

Link para o comentário
Compartilhar em outros sites

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...