回答編集履歴
1
なぜか見切れていたものを修正
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
|
|