明解C言語中級編 7章の自由課題解いてみた


NTPのリフレクションの次はWordpressの脆弱性を利用したリフレクションらしいなぁ。
また今度いじってみたいと思います。

では残すところ3章となりました。今回は第7章です。
途中で心が折れたのとだいたい予想がつくので課題7-6から7-8はやってません。

明解C言語を持ってない方には分からないネタですいませんが、今回はWindowsとLinux環境別に作るということをやってますが、なんとなく嫌な予感がしてたんですが、Linux+gcc環境ではうまくうごきませんでした。

ってことでどっちの環境とか関係なく、Linux環境でやるって事で進めました。なので、この本で公開しているgetputch.hは使ってません。

課題7-1 225ページのlist7-4をgetch関数を利用して書き換えんさい。課題7-2 出題する数字を1~9から0~9に書き換えんさい。

今回も2個おなじソースです。画面がクリアされてしまうので、scanfをかまして入力するまでは実行画面がのこるようにしました。

そーす:ごめんなさい。データなくなっちゃいました。

実行結果

欠けている数字を入力してください。
0 4 7 5 2 8 9 6 3  : 1
0 2 8 6 3 9 7 1 5  : 4
0 6 5 8 1 4 3 2 7  : 9
0 5 3 1 4 8 9 2 6  : 7
0 8 3 2 1 9 4 7 5  : 6
0 1 3 2 9 6 5 8 7  : 4
0 5 1 3 9 8 4 2 7  : 6
0 7 9 2 3 1 5 6 4  : 8
0 7 5 6 8 3 1 2 9  : 4
0 5 8 7 1 6 4 9 2  : 3
52秒かかりました。
おそい~
何かキーを押せば終了

課題7-3 246ページのlist7-11の対象数字を1~9から0~9にしなさい。

そーす:ごめんなさい。データなくなっちゃいました。

これもさっきと同じ感じです。

実行結果

だぶっている数字を入力してください。
スペースキーで開始です。
8 8 4 7 6 0 2 1 9 5 3  : 8
5 8 2 7 6 4 0 3 9 6 1  : 6
0 2 5 8 4 3 6 7 1 2 9  : 2
8 3 9 1 0 5 6 4 3 7 2  : 3
3 2 0 6 5 9 0 7 8 4 1  : 0
5 2 1 6 0 3 7 4 4 9 8  : 4
1 7 0 6 9 4 5 3 2 8 9  : 9
1 8 5 7 6 4 2 9 0 3 1  : 1
1 8 5 2 0 3 6 9 5 7 4  : 5
8 0 6 3 7 4 5 7 2 1 9  : 7
50秒かかりました。
おそい~

課題7-4 は考察しなさいって問題なんで、考察して終わりました。

課題7-5 1行ではなく、3行にまたがっておこなうナンバーサーチを作れ。
これが課題7-1を使って書き換えてて、配列でやりたかったんだけど

そーす:ごめんなさい。データなくなっちゃいました。

実行結果

欠けている数字を入力してください。
1  4   0    2  0     0   8  9
0  3   0     7    0  0  0    0
 0   0    0    5  0     0   0  0
答え?

ぐぬぬ!!ここまでやって心が折れました。

配列ではなくてループとprintfのものに書き換えました。

そーす:ごめんなさい。データなくなっちゃいました。

実行結果

欠けている数字を入力してください。
   0      2    1
5      3      4
  6   9   8
欠けている数字は? : 7
 0      5      1
2   4   6
9    7   8
欠けている数字は? : 3
0    2   1
   4   3     6
   8   5   9
欠けている数字は? :

結果はいいんだけど、思い描いていたことができなくて残念。

つい最近のことですが、大洪水が終わったあとのような夢を見ました。

なんとなく時期的に見たのかなあという気もするんですけど、夢占いで調べてみたら
洪水からうまく逃れて避難している夢は、仕事や学業に対するあなたのやる気が高まっており
努力により良い結果に導かれることを暗示しています。

なんて結果がでてきた。

良い結果っていうのがいったいどっちになるのか分からんけど(いまわりと分岐点っぽいとこにいるらしいので)
良いようにとれば、向かった先が良い結果ってことだな(笑)。

 

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *