[ [[高橋のページ: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)
とするとどうなるか試してみましょう.

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS