Travail sur les files (assez urgent :) )

tagada_du_loft Messages postés 7 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 28 novembre 2003 - 24 nov. 2003 à 19:13
tagada_du_loft Messages postés 7 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 28 novembre 2003 - 24 nov. 2003 à 21:48
voila je doit inserer un elt en tete de file "1ere fonction"
et en oter le dernier elt de la file "2eme"

les structure de bases sont:
*************************************
typedef int elt_file;

typedef struct maillon * Position;
typedef struct maillon {
elt_file valeur;
Position suivant;
}Maillon;

typedef struct file {
Position tete,queue;
}File;
**********

et mes fonctions ki marchent po
**************
/* ajoute en queue de file */
void mettre_en_file(elt_file x,File * f)
{
Maillon * m;
m=(Maillon *)malloc(sizeof(Maillon));
m->valeur=x;
if(!file_vide(f))
{
f->queue=NULL;
f->tete->valeur=m->valeur;
f->tete->suivant=NULL;
}
else
{
f->queue->suivant=m;
f->queue->suivant->valeur=m->valeur;
}
}

/* retire la tete de file et rend sa valeur */
elt_file oter_de_file(File *f)
{
if (file_vide(f)!=0) {
return f->tete->valeur;
f->tete->valeur=f->tete->suivant->valeur;
f->tete->suivant=f->tete->suivant->suivant;
}
else return -1;
}
***********

si kkun comprends le truc merci de me prevenir
Merci :)

4 réponses

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
24 nov. 2003 à 19:22
salut,
excuse mais moi j'ai une question qui n'a rien a voir avec ton sujet mais je la pose quand meme: j'aimerais savoir comment on fait pour savoir si la fin du fichier est arrivé?
Par exemple
while( xxxx != EOF)
{
si la fin du fichier est atteint
{
alors
}
}

Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
tagada_du_loft Messages postés 7 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 28 novembre 2003
24 nov. 2003 à 19:36
yep c ca
mais il faut surement un include special

sinon desolé pour le titre du messages mais je travail psa sur les fichier mais les file (un peu comme les liste chainées et les piles)
0
cs_Chouchou182 Messages postés 252 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 25 avril 2011 1
24 nov. 2003 à 21:42
Salut

Réponse pour LordBob:

FILE* pFichier ;

if ( feof(pFichier) )
{
cout << "C'est fini..." ;
}

A++

Chouchou
0
tagada_du_loft Messages postés 7 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 28 novembre 2003
24 nov. 2003 à 21:48
en fait maintenant g effectue kke changement mais g un souci de pointeur apparrement

*************
void mettre_en_file(elt_file x,File * f)
{
Maillon * m;
m=(Maillon *)malloc(sizeof(Maillon));
m->valeur=x;
m->suivant=NULL;
if(file_vide(f)!=0)
{
f->tete=f->queue=m;
}
else
{
f->queue->suivant=m;
f->queue=m;
}
}
*********
encore merki :)
0
Rejoignez-nous