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

cococinnelle Messages postés 4 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 28 septembre 2014 - 1 déc. 2005 à 20:42
dark_naruto25 Messages postés 127 Date d'inscription mardi 23 août 2005 Statut Membre Dernière intervention 9 mai 2011 - 1 déc. 2005 à 21:56
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

dark_naruto25 Messages postés 127 Date d'inscription mardi 23 août 2005 Statut Membre Dernière intervention 9 mai 2011
1 déc. 2005 à 21:56
je connais les listes chainées, mais les tiennes je ne comprend pas beaucoup !!!

Essay des commentaires histoire qu'on comprenne.
0
Rejoignez-nous