第9章

第9章 配列

今まで扱ってきた変数では、その宣言した変数に一つの値しか代入できません。 よって、例えば50メートル走を3回走ったタイムの平均出すプログラムを作った場合、
(1回目のタイム+2回目のタイム+3回目のタイム)/3
で平均が算出されるので次のようになる。







それぞれのタイムをtime1、time2、time3という変数名で実数型で宣言し、 結果をkekkaという変数名でdouble型で宣言する。 ちなみにdouble型はメモリをfloat型の2倍(つまりダブルのこと) の8バイトで実数を表す。よってより精度が高くなる。 まー、今回はこれを使う必要はないが紹介のために・・・。
で、平均を求めるときに「3」ではなく「3.0」で割っていることに注意しよう。 「3」だと整数で計算してしまうので小数点以下の精度が悪くなるからである。
このプログラムでは一つの欠点がある。 (次に紹介するプログラムも欠点ありまくりだが・・・) (^^;; 
それは、測定タイムが4回5回・・・と増えていくと、 それに対応する変数をtime4、time5・・・と、 どんどん宣言しなければならない変数は増えていく。
よって「配列」を用いて宣言する。
そーそー、ここでFORTRANと大きく違うところ2つ目が出てきますが、 先にプログラムを見せましょう。








time[3]と宣言すると3つの配列を持つという意味で、 [0][1][2]で3つとなります。
FORTRANでは [1][2][3]で3つとなりますので、 FORTRANから先に勉強した私にとっては、 このことに最初戸惑いました。
で、こうやって宣言しておけば、回数が増えても宣言時に
time[5]やtime[10]と宣言すれば対応できますね。
しかし、もうわかっていると思いますが、 scanfの&time[ ]、平均を計算するときのtime[ ]の個所は、 結局書き加えなければなりません。
次章ではこれをいくつでも対応できるようにします。

C言語のメニューに戻る

TOPに戻る