Kezdőoldal » Számítástechnika » Programozás » A paintban hogyan űködik a...

A paintban hogyan űködik a kitöltés?

Figyelt kérdés

hogyan írjam meg én is azt a programot kézzel mi annak az alapja?

nekérdezzétek miben írom az nem érdekes csak a menetre vagyok kiváncsi.


2010. dec. 19. 21:40
 1/5 anonim ***** válasza:

Igen egyszerű a megírása egy rekurzív eljárással:

x,y : koordináta (kezdőértéke a kattintott pixel koordinátája)

szin : a kijelölt szín (amit majd át akarunk színezni)

újszín : amienre akarjuk színezni

szin(x,y) : az adott pixel színét adja vissza

addszín(x,y,újszín) : az adott pixel átszínezi újszínnel

void kitölt(x,y)

{

if(szín(x,y)==szín)

{

kitölt(x+1,y);

kitölt(x,y+1);

kitölt(x-1,y);

kitölt(x,y-1);

addszín(x,y,újszín);

}

}

Nem nehéz megérteni a működését.

2010. dec. 19. 22:41
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
Élvezd a veremtúlcsordulásod. Ez a rekurzív algoritmus már 500*500-as terület kitöltésénél el fog szállni. A dolog nem ennyire triviális, ez nem egy kezdőnek való probléma.
2010. dec. 21. 16:59
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:
ezt nem értem "el fog szállni"?
2010. dec. 21. 17:40
 4/5 anonim ***** válasza:

16:59 szerintem arra gondolt, hogy a mértéktelen rekurzív hívások hamar "kikönyökölnek" a veremből. (Próbálj rákeresni a rekurzióra vagy a rekurzív algoritmusokra.)


A választ a kérdésedre viszont sajnos nem tudom. Valószínűleg tényleg a kattintott hely szomszédságában lévő pontok színeit kell vizsgálni újra és újra egyre nagyobb körben, amíg nincs több egyező szín. Én is kíváncsi lennék a trükkre.

2010. dec. 23. 15:34
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
annyi az egész h ha nem akarod hogy verem túlcsordulásos legyen akkor nem rekurzívra, hanem iteratívra készíted a programot mégpedig úgy, hogy egy pixel levizsgálása után a szomszédos levizsgálatlan pixelek koordinátáit belerakod egy sorba (tömbbe) majd addig csinálod a kivesz, átszinez, szomszédokat belerak műveletsort, míg ki nem fogy a sor (tömb)
2010. dec. 27. 22:13
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!