次の14 * 14配列を作成しようとしています。C:[I 0; 0 -I]であり、これは、7×7単位行列の左上から、IDの右下およびゼロを差し引いたものである。C:配列の値を0に初期化する問題
これはメソッドです:
#define DIM 7
double S[2*DIM][2*DIM];
for(i = 0; i < DIM; i++){
for(j = 0; j < DIM; j++){
if(i == j){
S[i][j] = 1.0;
S[i+7][j+7] = -1.0;
}
else{
S[i][j] = 0.0;
}
}
}
これは、すべての対角要素のために正常に動作します。しかし、配列のいくつかの要素はクレイジーな値に初期化されます。例えば、13,6
が
68111186113812079535019899599437200576833320031036694798491976301968333351950125611739840800974137748034248687763243996679617222196278187875968953700681881752083957666277350377710107236511681624408064.000000
に初期化されるこのエントリ11,13
、12,9
、12,10
、13,12
と13,6
に一貫して(少なくとも3回)が起こっているようです。
誰でもここで遊んでいることを教えてもらえますか、代替ソリューションを提供できますか?
乾杯!
EDIT:奇妙なエントリは一貫していません。
EDIT2:誤植:13,12
、ない13,15
、申し訳ありません... –
はどのようになっている '13,15'と設定それ? – cwallenpoole