回答編集履歴

1

なぜか見切れていたものを修正

2021/11/18 05:42

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -34,8 +34,6 @@
34
34
 
35
35
  必ずこの方法でないとダメということではありませんが、少なくとも矢鱈目ったらに書くよりは効率的です。
36
36
 
37
-
38
-
39
37
  プログラミングは「現実世界のシミュレーション」です。なので、現実世界で考えてみましょう。
40
38
 
41
39
 
@@ -58,13 +56,7 @@
58
56
 
59
57
 
60
58
 
61
- 私なら、{氏名,年齢}を一つのデータとして見なす。
62
-
63
- それをノートかなんかに記録していく。
64
-
65
- そして、そのノートを見て、『年齢』の部分を基準(キー)にして年齢が高い方を選択する。
66
-
67
- すると、{氏名,年齢}で一つなので、年齢さえわかれば名前もわかる…という風にできます。
59
+ 私なら、{氏名,年齢}を一つのデータとして見な。それをノートかなんかに記録していく。そして、そのノートを見て、『年齢』の部分を基準(キー)にして年齢が高い方を選択す。すると、{氏名,年齢}で一つなので、年齢さえわかれば名前もわかる…という風にできます。
68
60
 
69
61
 
70
62
 
@@ -150,15 +142,7 @@
150
142
 
151
143
 
152
144
 
153
- 私なら、まず単に最大値を求めます。太郎は21歳なので、これを暫定一位とします。
154
-
155
- そしてノートかどこかに``暫定一位: 21``のような感じで記録します。
156
-
157
- でもこのままだと最後までやると『どこのデータか』がわからなくなりますね。
158
-
159
- なので『どこにあったものか』も記録しておく必要があります。
160
-
161
- よって、``暫定一位: 21歳, 場所: 1人目`` のように記録しておく。横並びでも縦並びでもいいですが。
145
+ 私なら、まず単に最大値を求めます。太郎は21歳なので、これを暫定一位とします。そしてノートかどこかに``暫定一位: 21``のうな感じで記録します。でもこのままだと最後までやると『どこのデータか』がわからなくなりますね。なので『どこにあたものか』も記録しおく必要があります。よって、``暫定一位: 21歳, 場所: 1人目`` のように記録しておく。横並びでも縦並びでもいいですが。
162
146
 
163
147
 
164
148
 
@@ -168,13 +152,7 @@
168
152
 
169
153
 
170
154
 
171
- 三人目はかめ。64歳ですね。21歳と64歳はどちらが年上でしょうか。そう、64歳ですね。
155
+ 三人目はかめ。64歳ですね。21歳と64歳はどちらが年上でしょうか。そう、64歳ですね。つまり暫定一位よりもかめの方が年上。よって、暫定一位を21から64に書き換えます。ついでに場所も1人目から3人目に書き換えましょう。よって、``暫定一位: 64歳, 場所: 3人目``のようになるはずです。
172
-
173
- つまり暫定一位よりもかめの方が年上。よって、暫定一位を21から64に書き換えます。
174
-
175
- ついでに場所も1人目から3人目に書き換えましょう。
176
-
177
- よって、``暫定一位: 64歳, 場所: 3人目``のようになるはずです。
178
156
 
179
157
 
180
158
 
@@ -194,25 +172,15 @@
194
172
 
195
173
 
196
174
 
197
- で、暫定一位だの場所だののような記録は変数とかでやればいいですね。
175
+ で、暫定一位だの場所だののような記録は変数とかでやればいいですね。{人名,年齢}で一つのデータと見なすのは構造体で出来そうですね。この構造体の配列を使えば名簿リスト的なものにできますね。
198
-
199
- {人名,年齢}で一つのデータと見なすのは構造体で出来そうですね。
200
-
201
- この構造体の配列を使えば名簿リスト的なものにできますね。
202
176
 
203
177
 
204
178
 
205
- 1人目からN人目(最後尾)までを見るにはfor文でできそうですね。
206
-
207
- 最高齢か……みたいなのはif文で「暫定一位の年齢」と比較すれば出来そう。
179
+ 1人目からN人目(後尾)までを見るにはfor文でできそうですね。最高齢か……みたいなのはif文で「暫定一位の年齢」と比較すれば出来そう。暫定一位の更新もif文の処理のやつで出来そう。
208
-
209
- 暫定一位の更新もif文の処理のやつで出来そう。
210
180
 
211
181
 
212
182
 
213
- で、暫定一位についてですが、最初は強制的に1人目を暫定一位と認定していますが、
214
-
215
- 暫定一位の初期値を0とか-1とかみたいにあり得ないほど小さい値にしておけばできるはずです。
183
+ で、暫定一位についてですが、最初は強制的に1人目を暫定一位と認定していますが、暫定一位の初期値を0とか-1とかみたいにあり得ないほど小さい値にしておけばできるはずです。
216
184
 
217
185
 
218
186