Ir ao conteúdo
  • Cadastre-se

Mario Schoffel

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Tudo que Mario Schoffel postou

  1. como fica isso no código??? @CiroboyBR como fica isso no código???
  2. olá pessoal...Quem poderá me salvar...sou leigo em programação em c ainda e estou com esse problema...Até então fiz este código que está funcionando bem...o problema é que preciso fazer com que os valores digitados na "fila" passem para a "pilha" e depois os mesmos valores voltem para a fila formando assim uma fila invertida daquela que existia no começo...resumindo, quando for excluído da fila este valor deve ir para a pilha, e depois que a pilha estiver com todos os valores que estavam na fila, quando excluir da pilha este valor deve voltar para a fila... será que alguém consegue resolver isso? Fico grato com a ajuda desde já. ‪# include‬ <stdio.h> #include <stdlib.h> #include <locale.h> //Constantes ‪# define‬ tamanho 5 #define ta 5 //Estrutura da Fila struct tfila { int dados[tamanho]; int ini; int fim; }; //Estrutura da Pilha struct tpilha { int dado[ta]; int inicio; int final; }; //Variáveis globais struct tfila fila; struct tpilha pilha; int op; //Protipação void fila_entrar(); void fila_sair(); void fila_mostrar(); void menu_mostrar(); void pilha_entrar(); void pilha_sair(); void pilha_mostrar(); void men_mostrar(); //Função principal int main(){ setlocale(LC_ALL, "Portuguese"); op = 1; fila.ini = 0; fila.fim = 0; pilha.inicio = 0; pilha.final = 0; while (op != 0) { system("cls"); fila_mostrar(); menu_mostrar(); pilha_mostrar(); men_mostrar(); scanf("%d", &op); switch (op) { case 1: fila_entrar(); break; case 2: fila_sair(); break; case 3: pilha_entrar(); break; case 4: pilha_sair(); break; } } return(0); } //Adicionar um elemento no final da Fila void fila_entrar(){ if (fila.fim == tamanho) { printf("\nA fila está cheia, impossível adicionar um novo valor!\n\n"); system("pause"); } else { printf("\nDigite o valor a ser inserido: "); scanf("%d", &fila.dados[fila.fim]); fila.fim++; } } //Adicionar um elemento no final da Pilha void pilha_entrar(){ if (pilha.final == ta) { 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.dado[pilha.final]); pilha.final++; } } //Retirar o primeiro elemento da Fila void fila_sair() { if (fila.ini == fila.fim) { printf("\nA fila está vazia, não há nada para remover!\n\n"); system("pause"); } else { int i; for (i = 0; i < tamanho; i++) { fila.dados = fila.dados[i+1]; } fila.dados[fila.fim] = 0; fila.fim--; } } //Retirar o último elemento da Pilha void pilha_sair() { if (pilha.inicio == pilha.final) { printf("\nA pilha está vazia, não há nada para desempilhar!\n\n"); system("pause"); } else { pilha.dado[pilha.final-1] = 0; pilha.final--; } } //Mostrar o conteúdo da Fila void fila_mostrar() { int i; printf("[ "); for (i = 0; i < tamanho; i++) { printf("%d ", fila.dados); } printf("]\n\n"); } //Mostrar o conteúdo da Pilha void pilha_mostrar() { int j; printf("[ "); for (j = 0; j < ta; j++) { printf("%d ", pilha.dado[j]); } printf("]\n\n"); } //Mostrar o menu de opções void menu_mostrar() { printf("\nEscolha uma opção:\n"); printf("1 - Incluir na Fila\n"); printf("2 - Excluir da Fila\n"); printf("0 - Sair\n\n"); } //Mostrar o menu de opções void men_mostrar() { printf("\nEscolha uma opção:\n"); printf("3 - Empilhar\n"); printf("4 - Desempilhar\n"); printf("0 - Sair\n\n"); }

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!