Ir ao conteúdo
  • Cadastre-se

Eliane Lima

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. boa noite estou tentando implementar pilha com lista para inserir letra e depois retirar e imprimir a medida que vai retirando mais nao está dando certo e não sei por que. Segue o código se alguém puder ajudar fico muito agradecida. #include <stdio.h> #include <stdlib.h> struct nome//no { char letra; //float info; struct nome *proximo;// no* prox; }; typedef struct nome Nome; struct pilha { Nome *primeiro; //No* prim; };typedef struct pilha Pilha; Pilha* cria (void) { Pilha *p; p = (Pilha*) malloc(sizeof(Pilha)); p->primeiro = NULL; return p; } Nome* insere_inicio (Nome *l, char letranome) { Nome *p; p = (Nome*) malloc(sizeof(Nome)); p->letra = letranome; p->proximo = l; return p; } Nome* retira_inicio (Nome *l) { Nome *p; p = l->proximo; free(l); return p; } void push (Pilha *p, char letranome) { p->primeiro = insere_inicio(p->primeiro,letranome); } char pop (Pilha *p) { char v; if (vazia(p)) { printf("Pilha vazia.\n"); exit(1); } v = p->primeiro->letra; p->primeiro = retira_inicio(p->primeiro); return v; } int vazia (Pilha *p) { return (p->primeiro==NULL); } void libera (Pilha *p) { Nome* q; q = p->primeiro; while (q!=NULL) { Nome* t; t = q->proximo; free(q); q = t; } free(p); } void imprime (Pilha *p) { Nome *q; for (q=p->primeiro; q!=NULL; q=q->proximo) { printf("%c\n",q->letra); } } int main (void) { Nome *l; char v; cria(); push (l, 'e'); push (l, 'l'); push (l, 'i'); push (l, 'a'); push (l, 'n'); push (l, 'e'); imprime(l); v = pop(l); imprime(l); v = pop(l); imprime(l); libera(l); return 0; }

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!