基本情報23年 特別 午後 問9 設問1−2
前回の続き
<<cについて>>
こういうときは、具体的に数値を入れて考えましょう。
1人分を確保しようとしたら、
A席1番目に見つかったという場合。
1人分なのでnumは1です。
check_sheatsのループ
for row=0
cnt=0で
no=0のとき、
if ( hall[0][0]〜) のIF文ですぐにみつかることになる。
そうすると、
if (++ cnt >= num)のところで、
まず、比較するまえにcntをあげる→cnt=1
if ( cnt >= num)は、if ( 1 >= 1)のなるので、正しい。
→(aより)foundを1にしてbreak
if(fonud != 0 )になるので、break
結局、この状態で、for文の外に出てくる。
現在値
row=0
no=0
num=1です。
cは、今回、A列1番だから Aになればよい。
Aはrow_s[0]、選択肢でなりえるのはrow_s[row]
<<dについて>>
dは、今回、A列1番だから 1になればよい。
1=no-num+?
no=0
num=1だから
1=0−1+? ?は2になる。つまり no-num+2
【答え】
c キ
d エ