- 681 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:38:25.74 ]
- #include <stdio.h>
#define WIDTH 10 #define HEIGHT 20 #define DEPTH 40 double temperature[DEPTH][WIDTH][HEIGHT]; int calc_flag[DEPTH][WIDTH][HEIGHT]; int main(){ int h,w,d; for(h=0;h<=HEIGHT;h++){ for(w=0;w<=WIDTH;w++){ for(d=0;d<=DEPTH;d++){ temperature[d][w][h]=20.0; calc_flag[d][w][h]=1; }}} printf("%f\n",temperature[0][0][0]); fflush(stdin); getchar(); return 0; } 三次元配列の計算がうまくいきません。 上は最も単純な例ですが、このコードを実行しても表示が0.000000となってしまいます。 しかし、calc_flag[d][w][h]=1;の行をコメントアウトした場合は20.000000となり意図した値になります。 もう何が何やらさっぱりわからないのでお助け願います。 環境:Microsoft Visual C++ 2010 Express
|

|