Bonjour....
Je suis entrain de mettre au point un robot.. Je suis au stade de la programmation en c.
A cet effet, je suis entrain d'écrire son programme de déplacement. Plus précisément, je suis entrain de coder l'algorithme Astar. Sans utiliser des listes chaînées mais plutôt des tableaux car le pic est assez limité.
J'ai un problème: lors de mes tests sur visual studio, j'ai remarqué une drôle de fuite mémoire.
Je m'explique:
à chaque étape de la recherche, le programme m'affiche la liste des cases dans la "liste_fermée"(liste des cases dont on connait les voisins) et la liste des cases dans la "liste_ouverte"(liste des cases à analyser pour connaître leurs voisins).
J'ai remarqué qu'à l'index x de la liste_fermée, il y avait systématiquement une modification du contenu de ladite case...Pour être précis:
soit la liste_fermée suivante à l'itération 13:(x = 12 )
x y x y .......
1 2 2 3 ........ 3 0
1er 2eme 12eme
à la 14eme itération j'ai
1 2 2 3 ........ 3 -12458735542123
J'ai l'impression que quelque chose s'amuse à accéder illégalement à cette case mémoire pourtant réservée à la liste_fermée.
J'ai essayé à maintes reprises, cette erreur se produit toujours à l'itération 14, 12eme élément de la liste....
une idée?
-----