заливка

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)