H26年春期午後問13設問2について
T.S.さん
(No.1)
マクロGenerateListの18行目に「相対(H1, minID, 0) ← 1」とあるのですが、
どうしてdの答えとなる「minID ← 照合一致(最小(I2~I5001), I2~I5001, 0)」で
マーキングが1である行を除外できるのでしょうか?
どうしてdの答えとなる「minID ← 照合一致(最小(I2~I5001), I2~I5001, 0)」で
マーキングが1である行を除外できるのでしょうか?
2017.03.31 23:39
通りすがりの者さん
(No.2)
マクロの11~13行目でH2~H5001に0が設定され、同時にI2~I5001の1桁目に0が設定されます。その後、17行目の
minID ← 照合一致(最小(I2~I5001), I2~I5001, 0)
で、minIDにI2~I5001の最小値の相対行番号(1~5000)が設定されます。その後、18行目の
相対(H1, minID, 0) ← 1
で、H2~H5001の相対minID行目に1が設定され、同時にI2~I5001の相対minID行目の1桁目に1が設定されます。
このように、最小値が選ばれるごとにその行のI列の1桁目に1が設定されることにより、選ばれたI列(1xxxxxxx)は選ばれていないI列(0xxxxxxx)よりも必ず大きくなり、結果として、選ばれたI列は最小(I2~I5001)により2度と選ばれないようにしています。
minID ← 照合一致(最小(I2~I5001), I2~I5001, 0)
で、minIDにI2~I5001の最小値の相対行番号(1~5000)が設定されます。その後、18行目の
相対(H1, minID, 0) ← 1
で、H2~H5001の相対minID行目に1が設定され、同時にI2~I5001の相対minID行目の1桁目に1が設定されます。
このように、最小値が選ばれるごとにその行のI列の1桁目に1が設定されることにより、選ばれたI列(1xxxxxxx)は選ばれていないI列(0xxxxxxx)よりも必ず大きくなり、結果として、選ばれたI列は最小(I2~I5001)により2度と選ばれないようにしています。
2017.04.01 15:02
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告