Question

J'essaie d'imprimer une solution de solution dans un labyrinthe.Every Cell a un parent d'où nous allons sur cette cellule.Je imprimez le chemin avec le code suivant.

                do{
                System.out.print("The parent of "+index1+","+index2+"=");
                System.out.println(theParents[index1][index2][0]+","+theParents[index1][index2][1]);
                index1=theParents[index1][index2][0];
                index2=theParents[index1][index2][1];
                }while(!(index1==2 && index2==1));

Le problème est que vous saute des cellules. Je n'ai pas pu comprendre pourquoi?

Le parent de 7,7= 6,7

Le parent de 6,7= 5,7

Le parent de 5,7= 4,7

Le parent de 4,7= 3,7

Le parent de 3,7= 2,7

Le parent de 2,7= 1,7 // Comme vous le voyez, nous devrions maintenant imprimer 1,7 mais il saute 1,7 et goto 1,6

Le parent de 1,6= 1,5

Le parent de 1,5= 2,5 // Il saute 2,5 et aller à 2,3 directement

Le parent de 2,4= 2,3

Le parent de 2,3= 1,3

Le parent de 1,2= 1,1

Le parent de 1,1= 0,1

Le parent de 0,0= 1,0

Le parent de 1,0= 2,0

Quel est le problème avec le code?

Était-ce utile?

La solution

index1=theParents[index1][index2][0];
index2=theParents[index1][index2][1]; // the index1 here is already reassigned!

Vous avez déjà réaffecté Index1 lorsque vous allez l'utiliser dans l'attribution de Index2.

Vous avez besoin de quelque chose comme

int newindex1 = theParents[index1][index2][0];
int newindex2 = theParents[index1][index2][1];

index1 = newindex1;
index2 = newindex2;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top