演習

今回の課題は「構造体」を練習するための課題ではあるが, とりあえず構造体や関数を一切使わずに, 問題の条件だけを満たすような プログラムを作ってみるのもいいかもしれない. そのあとで, 構造体を使ったプログラムに進む, というのもアリである.
  1. 長方形の面積
    教科書 P. 261 から, 点, 線分, 長方形といった図形を表現するための 構造体がいろいろ宣言してある (List 10-6). P. 277 の問題3 (List 10-11)は, このような構造体を使ったプログラム例になっている. プログラムの入出力を以下のように修正して, 基礎プロくん課題1 としてためしてみよう. (入出力を変更したため, main はかなり変更しなければいけない)

    (入力)長方形をきめる4つの値(点1x,点1y,点2x,点2y)を一行にひとつずつ入れる. 点1は長方形の左上隅, 点2は右下隅とする.

    3.1 4.1 5.9 2.6

    (出力)長方形の面積を %f を使って出力する. (小数点以下6桁表示されるはず)
    4.200000
  2. 長方形が原点を内部に含むか
    以下, さらに応用問題. 長方形が原点を内部に含むかを判定する. (辺の上に原点がある場合は「含む」ことにしよう.)

    関数として記述するのがゴールだが, それが難しかったら, まず関数を使わずに main の中で直接処理を行なってみて, 余裕があったらその処理を関数として独立させてみよう. (判定処理を関数として書く場合には, 判定結果は関数の返り値として持ち帰ることになるが, 真(含まれる)なら1, 偽(含まれない)なら0 を返すことにしよう)

    (入力)長方形をきめる4つの値(点1x,点1y,点2x,点2y). 点1, 点2は課題1と同様, それぞれ左上隅, 右下隅とする.

    -1.0 1.0 0.0 -2.0
    (出力)含まれるなら yes, 含まれないなら no

    yes

[page 4] prev index next