Liste chainée miroir
Résolu
Bonjour,jai fais une procedure pour produire une autre liste miroir, quand je l'essaye ca marche mais j'ai une erreur Process terminated with status -1073741510 (0 minute(s), 2 second(s))
void miroir(liste *tete,liste **tete2){
liste *cur=tete,*cur2=*tete2;
cur2=(liste*)malloc(sizeof(liste));
cur2->n=cur->n;
cur2->suiv=*tete2;
*tete2=cur2;
if(cur->suiv!=NULL)
miroir(cur->suiv,&*tete2);
}
int main(){
liste *lst,*lst1;
lst=cree();
afficher(lst);
miroir(lst,&lst1);
afficher(lst1);
return 1;
}
1 réponse
-
ContributeurQuelques remarques, questions et suggestions :
- l'indentation de ton programme est peu lisible
- tu n'as pas de commentaire, et tes noms de variables sont peu clairs
- ta deuxième boucle "while" pour chercher cur2 est inutile, tu pourrais mémoriser la position du minimum dans la première boucle
- je pense que, pour trier, tu ne dois pas échanger les valeurs des éléments de la liste, tu dois plutôt changer le chaînage de la liste.
- comment sais-tu que cela ne marche pas? tu as du code qui vérifie si la liste est triée?-
-
-
-
@yg_beBonjour yg_be, le site efface, à l'affichage, tous les espaces et tabulations qu'il juge inutile.
Donc si tu postes un code tel quel il n'est pas indenté.
Le moyen de conserver l'indentation est d'utiliser les balises de coloration syntaxique, voir ici
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Si tu regardes le coin bas droit du premier message, tu constateras que Crapoulou (un modérateur) a édité le texte, il a ajouté les fameuses balises.
Donc pour avoir un code lisible, deux options, expliquer à celui qui poste comment faire et/ou signaler le message à la modération pour que les balises soient insérées.
-