Ir ao conteúdo
  • Cadastre-se

Robson_Hatake

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. A questao pedi pra mim fazer uma lista com meu nome completo e depois fazer uma fila, nao to conseguindo consertar o erro, pf me ajudem ;-; Funcoes2.c #include <stdio.h> #include <string.h> #include <stdlib.h> #include "Funcoes2.h" Lista* inicializa() { return NULL; } Lista* insere(Lista* l, char i) { Lista* novo= (Lista*)malloc((sizeof(Lista))); novo->info = i; novo->prox = l; return novo; } void imprime(Lista* l) { Lista* p; for(p=l; p !=NULL; p=p->prox) { printf("%c",p->info); } } Fila* criar_fila() { return NULL; } void filar(Fila **fi,Lista *l) { Lista *i; Fila *aux = *fi; Fila *anterior = NULL; Fila *novo = (Fila*)malloc(sizeof(Fila)); //inicia i com a 'lista' do parametro novo->nome = l->info; novo->prox = l->prox; if(*fi == NULL){ *fi = novo; } else { //aux = fi while(aux != NULL) { anterior = aux; aux = aux->prox; } anterior->prox = novo; } } void imprime_fila(Fila **fi) { if(*fi == NULL) { printf("\nFILA VAZIA\n"); } else { Fila *aux; printf("\n"); for(aux = *fi ; aux!=NULL ; aux = aux->prox) { printf("%c", aux->nome); } printf("\n"); } } void retira(Fila **fi){ char letra; do{ Fila *aux = *fi; letra = aux->nome; *fi = aux->prox; free(aux); }while(letra !=' '); } Funcoes2.h // ------------------------- // DECLARAÇÃO DAS ESTRUTURAS // no da lista struct lista { char info; struct lista* prox; }; typedef struct lista Lista; // no da fila struct fila { struct lista *nome; struct fila *prox; }; typedef struct fila Fila; // inicializa lista //------------------------------- //ASSINATURA DAS FUÇÕES // Serve para inicializar a lista Lista* inicializa(); // insere na lista Lista* insere(Lista* l, char i); //imprime a lista void imprime(Lista* l); // Serve para inicializar a fila Fila* criar_fila(); //Serve para enfileirar as listas na fila void filar(Fila **fi,Lista *l); //serve para imprimi as fila void imprime_fila(Fila **fi); //serve para retirar as listas da fila void retira(Fila **fi); main2.c #include <stdio.h> #include <string.h> #include <stdlib.h> #include "Funcoes2.h" int main() { int i; Lista* l1; /* declara uma lista não iniciada */ l1 = inicializa(); /* inicia lista vazia */ l1 = insere(l1, ' '); l1 = insere(l1, 'n'); l1 = insere(l1, 'o'); l1 = insere(l1, 's'); l1 = insere(l1, 'b'); l1 = insere(l1, 'o'); l1 = insere(l1, 'R'); l1 = insere(l1, ' '); printf("lista 1:\n"); imprime(l1); printf("\n"); Lista* l2; l2 = inicializa(); l2 = insere(l2, ' '); l2 = insere(l2, 'e'); l2 = insere(l2, 't'); l2 = insere(l2, 'n'); l2 = insere(l2, 'a'); l2 = insere(l2, 'c'); l2 = insere(l2, 'l'); l2 = insere(l2, 'a'); l2 = insere(l2,'v'); l2 = insere(l2, 'a'); l2 = insere(l2,'C'); printf("lista 2:\n"); imprime(l2); printf("\n"); Lista* l3; l3 = inicializa(); l3 = insere(l3, 's'); l3 = insere(l3,'a'); l3 = insere(l3, 'i'); l3 = insere(l3,'D'); printf("lista 3:\n"); imprime(l3); printf("\n"); Fila *fila; fila = criar_fila(); filar(&fila, l1); filar(&fila, l2); filar(&fila, l3); imprime_fila(&fila); //retira 1 nome retira(&fila); imprime_fila(&fila); //retira 2 nome retira(&fila); imprime_fila(&fila); // retira 3 nome retira(&fila); imprime_fila(&fila); // tenta retirar com fila vazia retira(&fila); system("PAUSE > NULL"); 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!