行列式のマイナーを表示したい。まず、3x3の行列があります。
1 2 3
4 5 6
7 8 9
M11を表示したい(行1と列1を削除)ので、次のようになります
1 3
7 9
しかし、私のプログラムで私はこのようなものを手に入れました
1 2
4 0
これが私のコードです:
public static double [][] Minor (double [][] M, int bar, int kol, int maxidx){
double [][] minor = new double [2][2];
int mini=0, minj=0;
for (int i=0; i<2;i++){
for (int j=0;j<2;j++){
if (i!=bar | j!=kol){
minor[mini][minj]=M[i][j];
minj++;
if (minj==(maxidx-1)){
mini++;
minj=0;
}
}
}
}
return minor;
}
マイナーを表示するために、私はこのコードを使用しました:
for (int i=0;i<2;i++){
for (int j=0;j<2;j++){
System.out.print(Minor(M,1,1,3)[i][j]+" ");
}
System.out.println();
}
私のコードの何が問題になっていますか?