-2
セル(n、m)= F(n、m)からF(1,1)までの所定の行列上のパスを最も高い値を持つセルがそのセルに1を入れ、そのセルへのポインタを移動します。タイがある場合には選択されていないセルに0を入れ、cell(1,1)まで繰り返します。撮影パス。 私は& &を||に変更しようとしました。 whileループではエラーが発生し、出力に変更はありません。出力は パス取られ (4,4) (3,4) (3,3) (3,2) (3,1)ループマッピングでは、2つの行列が早期に終了すると考えていました。
出力は パスが取られるべきである (4 、4) (3,4) (3,3) (3,2) (3,1) (2,1) (1,1)
public class JavaApplication6 {
/**
* @param i
* @param j
*/
public static void paste(int i,int j){
System.out.println("("+i+","+j+")");
}
public static void main(String[] args) {
System.out.println("path taken");
int[][] F =
{{0,0,50,150},
{100,200,700,900},
{600,1650,1200,1250},
{1100,1200,1200,1250}};
int rowLen = 4;
int columnLen = 4;
int i=rowLen-1;
int j=columnLen-1;
paste(i+1,j+1);
while(i!=0&&j!=0){
if(F[i-1][j]>F[i][j-1]){
i=i-1;
paste(i+1,j+1);
}
else if(F[i-1][j]<F[i][j-1]){
j=j-1;
paste(i+1,j+1);
}
else if(F[i-1][j]==F[i][j-1]){
j=j-1;
paste(i+1,j+1);
}
}
}}
に動作します:何かを意味変数名を使用します。 Fが 'F'とは何ですか? – GhostCat
デバッグヘルプ(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれている必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:[mcve]を作成する方法。あなたの*質問を改善するために "編集"リンクを使用してください - コメントでより多くの情報を追加しないでください。ありがとう! – GhostCat
のように:プログラムは何をする予定ですか? – GhostCat