[ [[高橋のページ:http://tortoise1.math.ryukoku.ac.jp/~takataka/index-j.html]] ]
[ [[プログラミングおよび実習II]] ]
*プログラミングおよび実習II 2005年10月6日
#contents
**今日の課題: 関数の復習と最大値を求めるプログラム
***課題1006-A (締切:10月6日)
前回作成した score2.c をコピーして score3.c というファイルを作り,以下の改造を施しましょう(参考: 10月5日の講義&演習問題その一).
-得点を格納した配列データを表示する関数 PrintData() を追加し,main() 中に2カ所あるデータ表示部分を書き換えて,この関数を呼び出すようにする.
-得点を格納した配列データを受け取ってその平均を戻り値として返す関数 Average() を追加し,main() 中に2カ所ある平均計算部分を書き換えて,この関数を呼び出すようにする.
コピーの仕方
$ cp 「元のファイル名」 「新しいファイル名」
ちなみに,ファイル名の変更の仕方は
$ mv 「元のファイル名」 「新しいファイル名」
***課題1006-B (締切:10月6日)
10月5日の演習問題その二(関数Max()を紙に書く)をやりましょう.
***課題1006-C (締切:10月13日)
整数のデータが与えられたときに,
+ それを配列に格納する
+ それらの最大値を見つけて,それを配列の先頭のものと入れ替える
+ できた配列の内容を表示する
というプログラムを作りましよう.名前は swapmax.c としてください.ただし,
- データの数は最大100個
- まずデータの数を入力し,次に各データを順番に入力する
- 配列の中身を表示する関数 PrintData() を使う
とします.score1.c などのこれまでに作ったプログラムを参考に(コピーして改造するなど)するとよいでしょう.
**おまけ
***ポインタについて復習しよう
もしかしたらこちらが役に立つかも: 「[[ポインタの話>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2004/doc/pointer/]]」
***課題できてしもて暇な人は
以下のことをやってみましょう.課題ではないのでチェックはしませんが,やってみたら高橋に見せてくれるとうれしいです.
-score3.c で関数 PrintData() を呼び出すところを
PrintData(&score[1], n-1);
と書くと結果がどう変わるか考えて,実際に実行してみましょう(変数名scoreやnは自分の書いたプログラムにあわせて読み替えてください).
-score3.c で関数 PrintData() の宣言を
void PrintData(int *data, int m)
とするとどうなるか試してみましょう.