Liste chainée en C
Résolu
Bonjour,je veux trouver une fonction qui pour une liste donnée supprime toutes les occurrences d'une valeur val donnée (la tete de la liste et la valeur sont données comme parametres).merci
Configuration: Windows XP Internet Explorer 6.0
4 réponses
-
Ca dépend de ta structure de liste, et malheureusement sur ce forum on aide les gens à arriver à leurs fins... mais on ne donne pas les réponses des exercices posés aux élèves afin que ceux-ci progressent autant que possible. Dis-nous ce qui te bloque et ce que tu as commencé à faire, ce qui te bloque, et on essaiera de te dépanner.
Bonne chance-
mon probleme est que quand je compile manuellement ça marche mais l'ordinateur ne le compile pas comme je veux.
voila la fonction:
struct liste *supocc(struct liste *tet,int val)
{
struct liste *p=tet,*q=0;
if(tet->a==val)p=p->svt;
q=tet;
while(p!=0)
{
if(p->a==val)
{
q->svt=p->svt;free(p);
}
q=p;
p=p->svt;
}
if(p->a==val){tet=p->svt;free(p);}
return tet;
}
-
-
Salut,
s'il s'agit d'une liste simplement chaînée, tu dois utiliser 2 pointeurs (un vers l'élément courant et un vers l'élément suivant)
pour une liste doublement chaîné tu n'as pas besoin puisque tu as les pointeurs suivant et précedant pour chaque élément
-
Si tu peux nous donner le code complet ce serait mieux. Et qu'entends tu par : "l'ordinateur ne le compile pas comme je veux" ?
Bonne chance -
"l'ordinateur ne le compile pas comme je veux": c'est à dire que je trouve pas les resultats escomptés,ok??
Alors il faut dire : le programme s'exécute (ce qui a lieu après la compilation) mais ne retourne pas le bon résultat. Désolée de pinailler mais ce sont deux choses différentes.
d'ailleurs j'ai trouvé moi meme la solution merci de vouloir m'aider, merci encore c'est reconnaissant.
A parfait, bonne continuation alors ;-)