質問

Mazeでソリューションパスを印刷しようとしています。veryセルには、そのCell.Iのうちの親がいます。次のコードでパスを印刷しています。

                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));
.

問題はいくつかのセルをスキップしているのですか。

7,7= 6,7 の親

6,7= 5,7 の親

5,7= 4,7 の親

4,7= 3,7 の親

3,7= 2,7 の親

2,7= 1,7 //あなたが見るように私たちは1,7を印刷するべきですが、それは1,7と後藤1,6 をスキップします

1,6= 1,5 の親

1,5= 2,5 // 2,5をスキップして2,3直接

2,4= 2,3 の親

2,3= 1,3 の親

1,2= 1,1 の親

1,1= 0,1 の親

0,0= 1,0 の親

1,0= 2,0 の親

コードの何が問題なのか?

役に立ちましたか?

解決

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

index2の割り当てで使用するときは、index1を再割り当てしました。

あなたはのようなものが必要です

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

index1 = newindex1;
index2 = newindex2;
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top