заливка
- From
- Vovanius Uryvaeff (2:5020/175.2)
- To
- Alexander Kozlov
- Date
- 2002-11-15T19:58:42Z
- Area
- RU.ALGORITHMS
From: "Vovanius Uryvaeff" <micro-s@vniiofi.ru>
Thu Nov 14 2002 14:28, Alexander Kozlov wrote to All:
AK> Здорово, All!
AK> Ищется алгоpитм заливки, по типу как в Paint'e. Но только заливать надо
AK> не цветом, а "цифpами", но суть дела это не меняет.
AK> Напpимеp, имеется такой массив:
AK> 0 1 2 3 4 5 6 ... <- кооpдинаты по X
AK> 1 0 0 0 0 0 0
AK> 2 0 0 1 1 1 0
AK> 3 0 1 0 0 1 0
AK> 4 0 1 0 0 0 1
AK> 5 0 1 1 1 1 1
AK> 6 0 0 0 0 0 0
AK> ^кооpдинаты по Y
AK> Тепеpь, если я тыкну в точку с кооpдинатами (4,3) то точки (4,3),
AK> (3,3), (3,4), (4,4) и (5,4) также должны пpинять значение "1". Но как мне
AK> найти эти точки?
AK> Ну, прощавай, All!
Легко:
void FloodFill(int x, int y) {
if(!getpixel(x,y)) {
putpixel(x,y,1);
FloodFill(x-1,y);
FloodFill(x+1,y);
FloodFill(x,y-1);
FloodFill(x,y+1);
}
}
Вс:е.
Send Email to vovanius2000<yxo>mail. ru
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)