2 次元配列の上対角要素の値をチェックする基本的なループを実行しています。
//Check upper diagonal
for (i = 0; i < n; i++){
for (j = i+1; j<(n-1); j++){
printf("n: %d i: %d j: %d\n",n, i, j);
if (myA[i][j] > pow(10,-13)) return 0;
}
}
ただし、このコードは、必要な要素を正確にチェックしません。内側のループに配置した print ステートメントにより、次の出力が得られます。
n: 4 i: 0 j: 1
n: 4 i: 0 j: 1
n: 4 i: 0 j: 2
n: 4 i: 1 j: 2
特に難しいのは、1 行目と 2 行目の間です。私が期待するように、中間ループの最初の反復後に j がインクリメントされていないようです。
出力の 2 行目が表示されないのはなぜj: 2
ですか?