teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

不要な文章を削除?

2021/12/08 08:21

投稿

BeatStar
BeatStar

スコア4962

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
- まず一行目。「ある日の暮方の事である。一人の下人げにんが、羅生門らしょうもんの下で雨やみを待っていた。」の行。これを読む。一行目なので 行数 = 1 とする。
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
- そうすれば文字数はそchar型配列を対象にして計算すればいいす。(ただし日本語のように2バイト以上構成されているような文字だと注意が必要。今回は問題なさそうですが)
47
+ ~~記録やつ変数とかででそうですね。~~
55
48
 
56
- 記録のやつは変数とかでできそうですね。
57
-
58
49
  次に『**デバッグをしましょう**』。
59
50
 
60
- 『DIYをやりたい』っていう人が、「椅子を作りたいから誰か設計図を書いてくれ」とか「椅子を作ったが、高さが合わない。誰が修繕してくれ」と言うようなものです。DIYは修繕もその一部のはずです。
61
-
62
51
  厳密なデバッグではないですが、基本的な考え方を書いておきます。
63
52
 
64
53
  **コードを読みましょう**。コードを読むコツは『**一行レベルで、何をしているかを考えながら読む**』です。

1

追記0

2021/12/08 08:21

投稿

BeatStar
BeatStar

スコア4962

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)