[Daumload] Problema em Programa em C

Pessoal,

 

Sei que o foco do grupo é outra linguagem, porém peço a ajuda de vocês para o problema apresentado no programa em c abaixo, se alguém puder me ajudar, agradeço.

 

 

#include <stdio.h>

#include<conio.h>

#include<stdlib.h>

 

#define N 5

typedef struct fila{

   int ini, fim;

   float vet[N];

}Fila;

 

Fila* cria(void){

   Fila* f = (Fila*)malloc(sizeof(Fila));

   f->ini = f->fim = 0; /* inicia a fila vazia */

   return f;

}

 

int incr(int i){

   if(i == N-1)

      return 0;

   else

      return i+1;

}

 

void insere(Fila* f, float v){

   if(incr(f->fim) == f->ini){ /* fila cheia: capacidade esgotada */

      printf("Capacidade da fila estourou.\n");

      exit(1); /* aborta o programa */

   }

   /* insere elemento na proxima posicao livre */

   f->vet[f->fim] = v;

   f->fim = incr(f->fim);

}

 

int vazia(Fila* f){

   return(f->ini == f->fim);

}

 

float retira(Fila* f){

   float v;

   if(vazia(f)){

      printf("Fila vazia.\n");

      exit(1); /* aborta o programa */

   }

   /* retira elemento do inicio */

   v = f->vet[f->ini];

   f->ini = incr(f->ini);

   return v;

}

 

void libera(Fila* f){

   free(f);

}

 

void imprime(Fila* f){

   int i;

   for(i = f->ini; i != f->fim; i = incr(i)){

      printf("%f\n", f->vet[i]);

   }

}

 

void main(void){

   Fila *f = cria();

//   clrscr();

   insere (f,20.3);

   insere (f,4.5);

   insere (f,8.4);

   insere (f,7.6);

   printf ("Primeiro elemento: %f\n",retira(f));

   printf ("Segundo elemento: %f\n",retira(f));

   printf ("Configuração da fila:\n");

   insere (f,13.3);

   retira (f);

   insere (f,15);

   imprime(f);

   insere (f,16);

   insere (f,17);

   insere (f,18);

   libera(f);

   getch();

}

 

 

 

“Veio para o que era seu, e os seus não o receberam. Mas a todos quantos o receberam deu-lhes o poder de serem feitos filhos de Deus: aos que crêem no seu nome.” Jo 1, 11-12

 

Abraço

 

Mario Medeiros

MSN, Orkut, Facebook, MySpace e Skype

mariomedeiros_1983@hotmail.com

twitter: @mariomedeiros

--
Você está recebendo esta mensagem porque se inscreveu no grupo "PBJug" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para pbjug@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para pbjug+unsubscribe@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/pbjug?hl=pt-BR.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário