回答編集履歴
2
不要な文章を削除?
answer
CHANGED
@@ -2,14 +2,6 @@
|
|
2
2
|
|
3
3
|
当たり前です。~~言うのが恥ずかしいほど当たり前です。~~
|
4
4
|
|
5
|
-
そもそも、プログラミングは「やたらめったらに書いていけばいい」というものではありません。
|
6
|
-
既存のアルゴリズムやコードをつぎはぎすればいいってものでも**ありません**。
|
7
|
-
|
8
|
-
前回辺りでも書いた通り、**ロジックを書く**のです。小説を書くようなものです。
|
9
|
-
|
10
|
-
簡単に言えば、「**コードとは、現実世界での手順を、独自の書き方で書き下したもの**」です。簡単に言えば「**現実世界のシミュレーション**」です。
|
11
|
-
|
12
|
-
|
13
5
|
今回の場合、
|
14
6
|
|
15
7
|
```
|
@@ -17,14 +9,14 @@
|
|
17
9
|
なあ、頼みがある。この台本にある文章の行数と文字数をカウントして教えてくれ。
|
18
10
|
```
|
19
11
|
|
20
|
-
的なものを先輩なり、同級生なり
|
12
|
+
的なものを先輩なり、同級生なりにお願いされたとします。質問者さんはどのようにしますか?
|
21
13
|
たとえば台本が羅生門とか。
|
22
14
|
|
23
15
|
私なら、ホワイトボードかなんかに「行数」と「文字数」をそれぞれ記録しておく。
|
24
16
|
|
25
17
|
羅生門の場合、[ここ](https://www.aozora.gr.jp/cards/000879/files/127_15260.html)をサンプルとして、PCで開いたと仮定すると、
|
26
18
|
|
27
|
-
まず一行目。「ある日の暮方の事である。一人の下人
|
19
|
+
まず一行目。「ある日の暮方の事である。一人の下人が、羅生門の下で雨やみを待っていた。」の行。これを読む。一行目なので 行数 = 1 とする。
|
28
20
|
|
29
21
|
この行は約35文字ですね。なので 文字数 = 35 と暫定的に取っておく。
|
30
22
|
|
@@ -49,16 +41,13 @@
|
|
49
41
|
|
50
42
|
これを実装すればいいだけです。
|
51
43
|
|
52
|
-
で、N行目を読み込む…的なやつは一行レベルで読み込む関数かなんかで読み込む。そうするとchar型配列に文字列が格納されるはずです。
|
44
|
+
~~で、N行目を読み込む…的なやつは一行レベルで読み込む関数かなんかで読み込む。そうするとchar型配列に文字列が格納されるはずです。
|
45
|
+
そうすれば文字数はそのchar型配列を対象にして計算すればいいはずです。(ただし日本語のように2バイト以上で構成されているような文字だと注意が必要。今回は問題なさそうですが)~~
|
53
46
|
|
54
|
-
|
47
|
+
~~記録のやつは変数とかでできそうですね。~~
|
55
48
|
|
56
|
-
記録のやつは変数とかでできそうですね。
|
57
|
-
|
58
49
|
次に『**デバッグをしましょう**』。
|
59
50
|
|
60
|
-
『DIYをやりたい』っていう人が、「椅子を作りたいから誰か設計図を書いてくれ」とか「椅子を作ったが、高さが合わない。誰が修繕してくれ」と言うようなものです。DIYは修繕もその一部のはずです。
|
61
|
-
|
62
51
|
厳密なデバッグではないですが、基本的な考え方を書いておきます。
|
63
52
|
|
64
53
|
**コードを読みましょう**。コードを読むコツは『**一行レベルで、何をしているかを考えながら読む**』です。
|
1
追記0
answer
CHANGED
@@ -154,4 +154,6 @@
|
|
154
154
|
|
155
155
|
ということで、常に文字数が0になるのです。
|
156
156
|
|
157
|
-
考えてみれば当たり前ですね。
|
157
|
+
考えてみれば当たり前ですね。
|
158
|
+
|
159
|
+
[追記0] ヒント: [fgets - C言語関数辞典](http://chaste.web.fc2.com/Reference.files/C_Standard.files/fgets.html)
|