Ir ao conteúdo

Posts recomendados

Postado

Alguém poderia me ajudar com este erro, a função cria que vai ser usada no main da erroimage.thumb.png.976882908e4179c97b1d1158cb9fd48c.png

//Gustavo Beck 18133 e Lucas Miranda 18567
#include <stdlib.h>
#include "fila.h"

typedef struct no {
    int senha;
    struct no* prox;
};
typedef struct no No;

typedef struct fila {
    No* ini;
    No* fim;
};

Fila* cria (void)
{
    Fila* f = (Fila*) malloc(sizeof(Fila));
    f->ini = f->fim = NULL;
    return f;
}

/* função auxiliar: insere no fim */
No* ins_fim (No* fim, int v)
{
    No* p = (No*) malloc(sizeof(No));
    p->senha = v;
    p->prox = NULL;
    if (fim != NULL) /* verifica se lista não estava vazia */
        fim->prox = p;
    return p;
}

/* função auxiliar: retira do início */
No* ret_ini (No* ini)
{
    No* p = ini->prox;
    free(ini);
    return p;
}

void insere (Fila* f, int v)
{
    f->fim = ins_fim(f->fim,v);
    if (f->ini==NULL) /* fila antes vazia? */
        f->ini = f->fim;
}

int retira (Fila* f)
{
    int v;
    if (vazia(f)) {
        printf("Fila vazia.\n");
         /* aborta programa */
    }
    v = f->ini->senha;
    f->ini = ret_ini(f->ini);
    if (f->ini == NULL) /* fila ficou vazia? */
        f->fim = NULL;
    return v;
}

int vazia (Fila* f)
{
    return (f->ini==NULL);
}

void libera (Fila* f)
{
    No* q = f->ini;
    while (q!=NULL) {
        No* t = q->prox;
        free(q);
        q = t;
    }
    free(f);
}

/* imprime: versão com lista */
void imprimeM (Fila* f)
{
    No* q;
    for (q=f->ini; q!=NULL; q=q->prox)
        printf("M%d\n",q->senha);
}
void imprimeE (Fila* f)
{
    No* q;
    for (q=f->ini; q!=NULL; q=q->prox)
        printf("E%d\n",q->senha);
}

int checafila (Fila* f, Fila* g)
{
    No* q;
    No* p;
    int e=0;
    int d=0;
    for (q=f->ini; q!=NULL; q=q->prox)
       {
           e++;
       }
    for(p=g->ini;p!=NULL;p=p->prox)
    {
        d++;
    }
    if(e==0 && d==0)
        return 0;
    else
        return 1;
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!