平成29年秋    午後問8  is_evenの判定

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ぐっさんさん  
(No.1)
過去問対策として平成29年秋午後問8を解いて気付いたのですが、このプログラムは
i:len,i>0,-1 としていることから  i=len,len-1,len2・・2,1の順番で偶数番目と奇数番目の処理を交互に行っていると思うのですが、「文字列の末尾の文字を1番目」としていることから
文字列の先頭がlen番目となるのでlenが偶数か奇数でis_evenの判定が変わる気がするんですがいかがでしょうか。

仮に「i:1,len,1」であれば末尾1番目から判定するので正しいと思っています。
2020.08.14 11:21
QMさん 
FE ゴールドマイスター
(No.2)
「文字列の末尾の文字」は、前から数えてlen番目の文字ということです。

あくまでlen個の配列に後ろからアクセスしようとしているのであって、配列の添字を後ろから振っている(配列に文字列を逆順に格納している)のではありません。

> 文字列の先頭がlen番目となるので

「〇番目にアクセスする文字」と「(前から)〇個目の文字」が混乱していますね。

例えば4文字の文字列を考えると、
1番目  4文字目
2番目  3文字目
3番目  2文字目
4番目  1文字目
iはアクセスしたい文字の場所を示すので、「〇文字目」の方を指さないといけません。
2020.08.14 13:56
メタルさん 
FE ブロンズマイスター
(No.3)
末尾  配列のそえじが一番大きい奴。
先頭  配列のそえじが一番小さい奴。
いろいろ日本語の定義覚えないといけなくて苦しいですわ、この試験。
2020.08.14 18:19

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop