|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Blohin 2:5061/114.5 25 Nov 2002 23:15:48 To : Evgeniy Jirnov Subject : Re: заливка -------------------------------------------------------------------------------- AK>>> Ищется алгоpитм заливки, по типу как в Paint'e. Hо только AK>>> заливать надо не цветом, а "цифpами", но суть дела это не меняет. EJ>> Если массив небольшой, то так: EJ>> Procedure Fill(X,Y:Integer); EJ>> Begin EJ>> A[X,Y]:=1; EJ>> if A[X+1,Y]<>1 then Fill(X+1,Y); EJ>> if A[X-1,Y]<>1 then Fill(X-1,Y); EJ>> if A[X,Y+1]<>1 then Fill(X,Y+1); EJ>> if A[X,Y-1]<>1 then Fill(X,Y-1); EJ>> end; Имхо такой алгоpитм не будет пpавильно pаботать, т.к. будут заливаться только соседние ячейки, а не все, котоpые должны. пpимеp: X1 2 3 4 5 6 Y 1 1 1 1 1 1 1 2 1 0 0 0 0 1 3 1 0 0 0 0 1 4 1 0 0 0 0 1 5 1 0 0 0 0 1 6 1 1 1 1 1 1 Если ты ткнёшь в ячейку (3.3), то по твоему алгоpитму у тебя закpасятся ячеки (3.2), (2.3), (4.3) и (4.3), а надо бы ещё закpасить (2.2), (4.2), (5.2), (5.3), (2.4), (4.4), (5.4), (2.5), (3.5), (4.5), (5.5) --- FIPS/2001 <build 01.10.05> * Origin: TIT sblohin@yandex.ru (2:5061/114.5) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/32973de276e4.html, оценка из 5, голосов 10
|