グラフでパスを印刷することの何が問題になっていますか?
-
12-12-2019 - |
質問
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;
. 所属していません StackOverflow