Petit problème avec une File d'entier

Résolu/Fermé
Akyro Messages postés 3 Date d'inscription mardi 21 septembre 2021 Statut Membre Dernière intervention 21 septembre 2021 - 21 sept. 2021 à 14:45
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 21 sept. 2021 à 16:51
Bonjour,
J'ai du faire une petite erreur. Je doit faire une fonction primitive pour enfiler ma pile, ce qui va permettre de rajouter un élément à l'intérieur. Mon problème arrive lorsque que j'utilise mon else.
int enfiler(File *pf,int elt){

Maillon * tmp;
tmp=(Maillon*)malloc(sizeof(Maillon));
if(tmp == NULL){
return 1;
}
tmp->val=elt;

if(estFileVide(pf)){
tmp->suiv=tmp;
}
else{
tmp=(*pf)->suiv;
(*pf)->suiv=tmp->suiv;
}
  • pf=tmp;

return 0;
}
A voir également:

3 réponses

yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 Ambassadeur 1 557
21 sept. 2021 à 15:00
bonjour,
je me demande si il n'y a pas une confusion entre le type Maillon et le type File.
la déclaration de ces types est-elle secrète?
0
Akyro Messages postés 3 Date d'inscription mardi 21 septembre 2021 Statut Membre Dernière intervention 21 septembre 2021
Modifié le 21 sept. 2021 à 15:03
/**
  • \struct Maillon
  • \brief Maillon contenant une valeur et l'addresse d'un maillon suivant.
  • /


typedef struct mail
{
int val;
struct mail * suiv;
}Maillon;
typedef Maillon * File;




Je vous transmet la structure de ma file
0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
21 sept. 2021 à 15:12
Quelle erreur rencontres-tu?
Comment as-tu initialisé pf?
0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
21 sept. 2021 à 15:14
quand tu écris
pf=tmp
, ne supposes-tu pas que les deux variables sont de même type?
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096 > yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024
Modifié le 21 sept. 2021 à 16:28
@yg_be :

Je pense qu'il a écrit
*pf=tmp;
et pas
pf=tmp;
.

Comme il n'a pas posté son code avec les balises de code du forum, l'étoile en début de ligne a été transformée en bullet-point html par le forum.

Il faudrait qu'Akyro poste son code correctement.

@Akyro : utilise le bouton de l'éditeur du forum pour poster le code entre balises appropriées au langage C.

Si tu ne sais pas comment faire, suit ces indications : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Akyro Messages postés 3 Date d'inscription mardi 21 septembre 2021 Statut Membre Dernière intervention 21 septembre 2021
21 sept. 2021 à 16:29
Excuser moi l'erreur venais simplement de ma fonction estFileVide qui devait être mal ecrit merci quand même pour votre aide.
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
21 sept. 2021 à 16:51
de rien, la prochaine fois, pense à utiliser les balises de code du forum pour poster correctement ton code, cela nous évitera de trouver des erreurs là où il n'y en a pas :-)
0