投稿/コメントを表示します。

今回は動画を見ただけで、まだ試していません。

最大値を求めるときの考え方が勉強になりました。私が浮かんだイメージは、オリンピックなどで
一人ずつ順番に競技を行い、タイムや獲得点数を競うようなケースです。
「これで期待のA選手、暫定1位に躍り出ました!残るはB国の前回メダリストC選手が残るのみです!」
みたいなアナウンスが。・・・そんなイメージで1行ずつ比較していけばいいのだなと。
この考えで単体1列の比較であれば書けそうな予感がします。

列ごとの比較ですが、ついに出てきたという感じです。
見た感じ、難しいです・・・cellを使わないとなると、offsetかな。

どこの参考書にも、rangeの解説後、比較的早くcellの解説があります。
それをあえて先生が基礎編で取り上げなかったことには理由があると踏んでおります。

私が考えた理由とは、カウント変数の指定→箱を作って切り取って中に入れる→
for next文への変数の代入で置き換えというハナコの一連の作業を考えると、
常にrangeを使うならば機械的に代入操作できるため、無駄なミスを回避できるという点です。

一見すると列移動があるときはcellを使うほうが便利そうですが、
代入ルールがrangeと異なるため、一度立ち止まって検証しなくてはならない。
cellの代入ルールを覚えたら覚えたで、rangeと混同してしまうリスクが生じます。
コードを見直す際も、こっちがrange、こっちがcell・・のように頭を切り替えなくてはならず
読みながら考えるのが複雑になりそう。・・・以上です。

どちらにしろ、列比較の連続技を書く能力はまだないので、
自分ならば単体で各列ごとのMAX値を算出し、最後に列ごとのmaxを比較すると思います。
予選勝ち抜きした人が、後日決勝戦に出るというイメージですね(笑)
by gooska
2016/03/27 00:17