第 8 回 - 構造体(2)

[5/19, 2006 H.Aman]
67x27(1669bytes)

課題 3

100 個のベクトルを読み込み, その長さ(参考:例題 3)が 5 より大きいものの個数を表示させよ.

出席票の裏面に課題の実行結果に関する解答欄があります!

実行例

     $ ./a.out [Enter]
     8 15 [Enter]
     3 3 [Enter]
     ...
     1 2 [Enter]
     17 個

実行データ

実行には次のデータを使用しなさい: 使い方は単純で,
     $ ./a.out < data1A.txt [Enter]
という具合いに(リダイレクション機能を使って)読み込ませればよい.

参考:リダイレクション

データ等を実行時に入力するのではなく, いったん別のファイルに書いておき, 実行時にそのファイルを読み込ませることもできる.
例えば,上の実行例の場合,
     8 15
     3 3
     ...
     1 2
とだけ書いたテキストファイルを用意する. 便宜上これを data.txt とする.
そして,次のように実行すると結果だけが表示される:
     $ ./a.out < data.txt [Enter]
     17 個

発展問題(加点の対象とする)

これまでの例題ではベクトルの入力を main 関数の中で実行しているが, ベクトルの入力を行うための関数を作りなさい.

ただし,関数の宣言は
 void scanVector(struct vector* v){ 
 ...
 }
というかたちとし, 関数の呼び出しは
 scanVector(&data); 
で行うものとする. なお,この際に data は struct vector 型の変数として宣言済みであること.

これについては,直接メールで阿萬 <aman@cs.ehime-u.ac.jp> まで提出してください.
作った関数部分だけでなく, 実行をテストできるプログラムを送ってください.