Correction d'1 programme sur les listes chaînées

Signaler
Messages postés
4
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
28 septembre 2014
-
Messages postés
127
Date d'inscription
mardi 23 août 2005
Statut
Membre
Dernière intervention
9 mai 2011
-
Voilà une fonction qui répond à la question suivante:
Ecrire une fonction squeeze qui prend en arguments deux listes d'entiers vues en cours (ne les


redéfinissez pas, ainsi que le cons et les fonctions d'extraction) et qui détruit dans le premier tous ses entiers qui n'appartiennent pas au second.


Est-ce que qq1 peut me corriger? merci d'avance

void(liste l1, liste l2) {


liste temp=(liste)malloc(sizeof(struct sliste)) ;


liste l=(liste)malloc(sizeof(struct sliste)) ;


int couleur=0;


while(l2!=NULL)


if(VAL(l1)==VAL(l2))


couleur=1;


if (couleur==0)


VAL(l)=VAL(l1);


while(l1 !=NULL)


while(l2 !=NULL)


{


if(VAL(SUIVANT(l1))==VAL(l2))


couleur=1;


if (couleur==0)


{


temp=SUIVANT(SUIVANT(l1));


SUIVANT(l1)=temp ;


free(temp) ;


}


SUIVANT(l) =(liste)malloc(sizeof(struct sliste)) ;


SUIVANT(l) =l1;


return l1;


}



où SUIVANT et VAL sont les pseudo-fonctions qui retourne respectivement la liste suivante(qui est le2ème champs de la struct sliste) et la valeur de l’entier(qui est le 1er champs de la struct sliste)


et liste est défini ainsi :typedef struct sliste * liste

1 réponse

Messages postés
127
Date d'inscription
mardi 23 août 2005
Statut
Membre
Dernière intervention
9 mai 2011

je connais les listes chainées, mais les tiennes je ne comprend pas beaucoup !!!

Essay des commentaires histoire qu'on comprenne.