練習 [8] 関数(4/5)

練習 4(提出プログラム名:p0804a.h)
p0804a.c ではなく p0804a.h を提出なので注意!
※講義資料(その2)で説明している内容です

まず,このプログラム(p0804a.c)ヘッダ(p0804a.h)をそれぞれダウンロードしなさい.

そして,p0804a.h(p0804a.c ではない)を次の指示に従って編集し,以下の実行例のように実行できるようにしなさい.(書き換えるのは p0804a.h のみであり,p0804a.c はコンパイルと実行に使うだけなので間違えないこと)

この問題では,SIZE 個の整数を読み込んでいったんすべて配列へ格納しておき,その中の最小値,最大値,及び平均値をそれぞれ関数で求めている(SIZE はマクロとして定義されている).

【編集すべき内容:次の 2 つの関数を p0804a.h の中に追加しなさい】
① 関数 get_min:引数で与えられた配列(長さは SIZE)内の整数の最小値を返す.
 関数は int get_min( int a[] ) … として作成せよ.

② 関数 get_average:引数で与えられた配列(長さは SIZE)内の整数の平均値(double型)を返す.
 関数は double get_average( int a[] ) … として作成せよ.

【注意】
この問題では p0804a.h を提出しなさい(p0804a.c ではない).
また,マクロの定義部分以外に 100 と直接書いてはいけません.

実際に 100 個の整数を入力するのは大変なので,以下のデータファイルをダウンロードし,リダイレクトによって入力させてください(以下の実行例を参考).
 ● data0804a-1.txt
 ● data0804a-2.txt
 ● data0804a-3.txt

  • 【プログラムの実行例】(その1)赤字は実行時にキーボードから入力する内容(data0804a-1.txt を使用)※Mac の人は a ではなく ./a.out
a < data0804a-1.txt
100 個の整数を入力してください:
入力された値の範囲: -22 以上 118 以下
入力された値の平均値 = 44.44
  • 【プログラムの実行例】(その2,その3)
    data0804a-2.txt … -24 以上 115 以下, 平均値は 48.84
    data0804a-3.txt … -24 以上 112 以下, 平均値は 42.93

【過去にあったミス(減点となり,やり直しを命じられる)】
■ 誤って p0804a.c を提出してしまっている.
 (こちらは何も書き換えないので提出しても意味が無い)
3 種類の実行例を確認せずに提出してしまっている.
■ マクロ SIZE の定義部分以外に 直接 100 と書いてしまっている.
■ 平均値の算出の際に double 型へのキャストを忘れている.
■ 平均値を求める前段階として合計値を求める必要があるが,合計に使う変数を 0 で初期化していない
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


ミスが無いことを確認したら次の問題へ → [ 練習5 (p0805a.h) ]