なあ、再帰関数好きな人いる? パート3 [転載禁止]©2ch.net (914レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
573: NAS6 ◆n3AmnVhjwc 2016/01/05(火)06:30 ID:FnNfbNzM(1/11) AAS
Array.push()、Array.pop()があるんね
>>568で済む内容を、ループで書きたかったら↓しなければならない
def loopHoge2(term,arg...)
while term
pushargstack(arg...)
dobefore(arg...)
if term
next
end
popargstack(arg...)
省14
574: NAS6 ◆n3AmnVhjwc 2016/01/05(火)06:44 ID:FnNfbNzM(2/11) AAS
def recHoge2(term,arg1...argn)
dobefore(arg1...argn)
if term
recHoge2(term,arg1...argn)
end
doafter(arg1...argn)
end
↑は、こう↓書き換えられる
def loopHoge2(term,arg1...argn)
while term
省20
575(1): NAS6 ◆n3AmnVhjwc 2016/01/05(火)07:30 ID:FnNfbNzM(3/11) AAS
#同色上書き塗りつぶし
def refill(dest,src,x,y,color,minx,miny,maxx,maxy)
if (x < minx) || (maxx < x) ||(y < miny) || (maxy < y)
return
end
dest[y][x] = color
#上
if (src[y-1][x] == color) && (dest[y-1][x] != color)
refill(dest,src,x,y-1,color,minx,miny,maxx,maxy)
end
省14
576(2): NAS6 ◆n3AmnVhjwc 2016/01/05(火)07:31 ID:FnNfbNzM(4/11) AAS
AA省
577(2): NAS6 ◆n3AmnVhjwc 2016/01/05(火)07:31 ID:FnNfbNzM(5/11) AAS
AA省
578: NAS6 ◆n3AmnVhjwc 2016/01/05(火)07:34 ID:FnNfbNzM(6/11) AAS
再帰関数を無理矢理ループで書くことが
正解だなんてとても思えないんだけど・・・
579: NAS6 ◆n3AmnVhjwc 2016/01/05(火)07:57 ID:FnNfbNzM(7/11) AAS
>>575-577
はdestにcolorが最初から使われていると、それ以上塗れないバグがあるな
ま、いいか
580: NAS6 ◆n3AmnVhjwc 2016/01/05(火)08:01 ID:FnNfbNzM(8/11) AAS
destはコピー先だからそういう条件でクリア済みってことで
581: NAS6 ◆n3AmnVhjwc 2016/01/05(火)08:14 ID:FnNfbNzM(9/11) AAS
2色必要だった・・・
srcのx,yからcolor2の連続部分をdestにcolor1で塗りつぶし
#同色上書き塗りつぶし
def refill(dest,src,x,y,color1,color2,minx,miny,maxx,maxy)
if (x < minx) || (maxx < x) ||(y < miny) || (maxy < y)
return
end
dest[y][x] = color1
#上
if (src[y-1][x] == color2) && (dest[y-1][x] != color1)
省15
582: NAS6 ◆n3AmnVhjwc 2016/01/05(火)08:16 ID:FnNfbNzM(10/11) AAS
>>576-577
も同様に直してね
583: NAS6 ◆n3AmnVhjwc 2016/01/05(火)08:48 ID:FnNfbNzM(11/11) AAS
recHoge2(term,arg1...argn){
dobefore(arg1...argn);
if(term)recHoge2(term,arg1...argn);
doafter(arg1...argn);
}
この↑再帰関数を無理矢理
loopHoge2(term,arg1...argn){
while(term){
pushargstack(arg1...argn);
dobefore(arg1...argn);
省10
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.044s