рдЕрдореВрд░реНрдд

рдПрдХ, рджреЛ, рддреАрди, рдЪрд╛рд░, рдкрд╛рдВрдЪред рд╣рдо рдЫреБрдкрдХрд░ рдЦреЗрд▓реЗрдВрдЧреЗред рд▓реЗрдЦ рдмрд╛рдЗрдирд░реА рдЫрд╡рд┐ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ (рдпрд╛ рдЧрд┐рдирдиреЗ) рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдФрд░ рдХреИрд╕реЗ, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд╛рд╕ рдХреЗ рдмрд┐рдирд╛, рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреА рдЬреНрдпрд╛рдорд┐рддреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ (рдЕрднреА рддрдХ рдЕрдкреНрд░рдХрд╛рд╢рд┐рдд рднрд╛рдЧ 2 рдореЗрдВ)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЕрдХреНрд╕рд░ рдмрд╛рдЗрдирд░реА рддреИрдпрд╛рд░реА рдкрд░ рдкреИрдЯрд░реНрди рдорд╛рдиреНрдпрддрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рджрдХреНрд╖рддрд╛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред
рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдкрд╛рдардХреЛрдВ рдХреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╕реНрдпрд╛ рдкреЗрд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдПрдХ рд╕рдХреНрд╖рдо рд╕рдорд╛рдзрд╛рди рдореМрдЬреВрдж рд╣реИ рдФрд░ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВред рд╕реНрд░реЛрдд рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдкреЛрд╕реНрдЯреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕реЗ рдорд╛рдЯрд▓реИрдм рднрд╛рд╖рд╛ рдореЗрдВ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдореБрдлреНрдд рдореЗрдВ, рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА
SciLab рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкрд░рд┐рдЪрдп
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдкреИрдЯрд░реНрди рдХреА рдкрд╣рдЪрд╛рди рдЕрдХреНрд╕рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ:
рдЫрд╡рд┐ рдЕрдзрд┐рдЧреНрд░рд╣рдг (1) -> рдЕрдиреБрдХреВрд▓реА рджреНрд╡реИрд░реАрдХрд░рдг (2) -> рдЖрдХрд╛рд░рд┐рдХреА рд╕рдВрдЪрд╛рд▓рди рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ (3) -> рдЕрдВрдХрди рд╡рд╕реНрддреБрдУрдВ (4) -> рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рднрд░рдирд╛ (5)ред
рдЪрд┐рддреНрд░ 1 - рдЫрд╡рд┐ рдкрд░ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдкреИрдЯрд░реНрди рдорд╛рдиреНрдпрддрд╛ рдкреИрдЯрд░реНрдиред рдпреЛрдЬрдирд╛ рд╕реБрд╡рд┐рдзрд╛ рд╕реНрдерд╛рди рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреА рд╣реИред
рдЪрд┐рддреНрд░ 2 рдореЗрдВ рдмреИрдирд░реАрдХрд░рдг рдХреЗ рдмрд╛рдж рдЫрд╡рд┐ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдФрд░ рд░реВрдкрд╛рддреНрдордХ рд╕рдВрдЪрд╛рд▓рди (рдЫрд╡рд┐ 2 рдП) рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рд░реНрдХрдЕрдк рдкрд░рд┐рдгрд╛рдо (рдЫрд╡рд┐ред 2 рдмреА) рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд┐рддреНрд░рд╛ 2 - рдП) рдПрдХ рдмрд┐рдирд╛рд░рд╛рдЗрдЬреНрдб рдЫрд╡рд┐ рд╣реИ, рдмреА) рдЪрд┐рд╣реНрдирд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╡рд┐ рд╣реИред
рд▓реЗрдЦ рдореЗрдВ рд╣рдо рди рдХреЗрд╡рд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВрдЧреЗ, рдмрд▓реНрдХрд┐ рдХреНрд╖реЗрддреНрд░ рдФрд░ рдкрд░рд┐рдзрд┐ рдЬреИрд╕реА рдЬреНрдпрд╛рдорд┐рддреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рднреА рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗред рдЙрдирдХреЗ рд░рд┐рд╢реНрддреЗ рд╡рд╕реНрддреБ рдХреА
рдХреЙрдореНрдкреИрдХреНрдЯрдиреЗрд╕ рдФрд░
рдорд╛рд▓рд┐рдиреЛрд╡рд╕реНрдХреА рдлреЙрд░реНрдо рдлреИрдХреНрдЯрд░
рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЬреНрдпрд╛рдорд┐рддреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ, рдмрдврд╝рд╛рд╡ рдФрд░ рд╕рдореЛрдЪреНрдЪ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВред
рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рдЬреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ
рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЖрд╡рдВрдЯрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрдИ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ - рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд [1], рдХреБрдЫ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, [2] рд╕реЗ рд╕реВрдЪреА 1, рдЖрджрд┐)ред
рд╢реВрдиреНрдп рд▓реЗрдмрд▓рд┐рдВрдЧ (BIT * img [], int * рд▓реЗрдмрд▓ [])
{
int L = 1;
рдХреЗ рд▓рд┐рдП ( int y = 0; y <H; ++ y)
рдХреЗ рд▓рд┐рдП ( рдЗрдВрдЯ x = 0; x <W; ++ x)
рднрд░реЗрдВ (img, рд▓реЗрдмрд▓, x, y, L ++);
}
рд╢реВрдиреНрдп рднрд░рдг (BIT * img [], int * рд▓реЗрдмрд▓ [], int x, int y, int L)
{
рдЕрдЧрд░ ((рд▓реЗрдмрд▓ [x] [y] == реж) рдФрд░ (img [x] [y] == рез))
{
рд▓реЗрдмрд▓ [x] [y] = L;
рдЕрдЧрд░ (x> 0)
рднрд░реЗрдВ (img, рд▓реЗрдмрд▓, x - 1, y, L);
рдЕрдЧрд░ (x <W - 1)
рднрд░реЗрдВ (img, рд▓реЗрдмрд▓, x + 1, y, L);
рдЕрдЧрд░ (y> 0)
рднрд░реЗрдВ (img, рд▓реЗрдмрд▓, x, y - 1, L);
рдЕрдЧрд░ (y <H - 1)
рднрд░реЗрдВ (img, рд▓реЗрдмрд▓, x, y + 1, L);
}
}
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛редрд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1 - рдЬреБрдбрд╝реЗ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
рдпрд╣ рд╕рдм рд╣рдореЗрдВ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛ред
рдпрджрд┐ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдХреЛрдИ рдкрдбрд╝реЛрд╕реА рдореМрдЬреВрдж рд╣реИ, рддреЛ рдПрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдбреЛрдореЗрди рдХреЛ
рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ
рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдПрдХ рдЪрд┐рддреНрд░ рджрд┐рдпрд╛ рд╣реИ (рдЪрд┐рддреНрд░ 1,2)ред рд╣рдорд╛рд░рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЪрд╛рд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╛рдирд╕рд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд┐рдирд╛ рдЖрда рдЬреБрдбрд╝реЗ рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ-рдкрд╛рд╕, рдЧреИрд░-рдкреБрдирд░рд╛рд╡рд░реНрддреА рдорд╛рд░реНрдХрдЕрдк рдПрд▓реНрдЧреЛрд░рд┐рджрдо
рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдПрдХ рдХреЛрдиреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ - рдПрдХ рдПрдмреАрд╕реА рдорд╛рд╕реНрдХ, рдЬрд┐рд╕реЗ рдЪрд┐рддреНрд░ 3 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд┐рддреНрд░рд╛ 3 - рдПрдмреАрд╕реА рдореБрдЦреМрдЯрд╛ рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЫрд╡рд┐ рд╕реНрдХреИрдирд┐рдВрдЧ рдХреА рджрд┐рд╢рд╛ред
рдЗрд╕ рдореБрдЦреМрдЯреЗ рдХреА рдЫрд╡рд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рд░реНрдЧ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рдФрд░ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рддрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рд╕реАрдорд╛ рд╕реЗ рдкрд░реЗ рдХреЛрдИ рд╡рд╕реНрддреБ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдмреА рдпрд╛ рд╕реА рд╡рд╣рд╛рдВ рдЧрд┐рд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреИрдирд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЪрд┐рддреНрд░ 4 рдореЗрдВ рдЫрд╡рд┐ рдореЗрдВ 5 рд╕рдВрднрд╛рд╡рд┐рдд рдореБрдЦреМрдЯрд╛ рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИред
рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдЪрд┐рддреНрд░ 4 - рдПрдмреАрд╕реА рдорд╛рд╕реНрдХ рдХреЗ рдкрд╛рдВрдЪ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрдерд╛рди
- рдирдВрдмрд░ 0 рдкрд░ рд╕реНрдерд┐рддрд┐, рдЬрдм рдорд╛рд╕реНрдХ рдХреЗ рд╕рднреА рддреАрди рдШрдЯрдХ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╕рд┐рд░реНрдл рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред
- рдирдВрдмрд░ 1 рдкрд░ рд╕реНрдерд┐рддрд┐, рдЬрдм рдХреЗрд╡рд▓ рдП рддрддреНрд╡ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рдиреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдПрдХ рдирдпрд╛ рдирдВрдмрд░ред
- рд╕реНрдерд┐рддрд┐ рд╕рдВрдЦреНрдпрд╛ 2, рдЬрдм рдХреЛрдИ рддрддреНрд╡ рддрддреНрд╡ рдмреА рдЪрд┐рд╣реНрдирд┐рдд рд╣реЛрддрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╡рд░реНрддрдорд╛рди рдкрд┐рдХреНрд╕реЗрд▓ рдП рдХреЛ рдмреА рдореЗрдВ рд╕реНрдерд┐рдд рдПрдХ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- рдирдВрдмрд░ 3 рдкрд░ рд╕реНрдерд┐рддрд┐, рдЬрдм рддрддреНрд╡ рдХреЛ рддрддреНрд╡ рд╕реА рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╡рд░реНрддрдорд╛рди рдкрд┐рдХреНрд╕реЗрд▓ рдП рдХреЛ рд╕реА рдореЗрдВ рд╕реНрдерд┐рдд рдПрдХ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- рдирдВрдмрд░ 4 рдкрд░ рд╕реНрдерд┐рддрд┐, рддреЛ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд▓реЗрдмрд▓ (рдСрдмреНрдЬреЗрдХреНрдЯ рдирдВрдмрд░) B рдФрд░ C рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ - рдЕрд░реНрдерд╛рдд, рд╕рдорддреБрд▓реНрдп рдФрд░ рдкрд┐рдХреНрд╕реЗрд▓ A рдХреЛ B рдпрд╛ C рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓реЗрдмрд▓ рдХрд╛ рдПрдХ рддреБрд▓реНрдпрддрд╛ рдЧреНрд░рд╛рдл рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рд╣рдо рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ - рдпрджрд┐ B, C рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рд▓реЗрдмрд▓ B рдореЗрдВ C рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╕рднреА рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдкрд┐рдХреНрд╕рд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрд░реАрдмред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪрд┐рддреНрд░рд╛ 2 рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдорд╛рди рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдмрдирд╛рдПрдВ, рдЕрд░реНрдерд╛рддреН, рд╢реВрдиреНрдп рдФрд░ рд▓реЛрдЧреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдЫрд╡рд┐ рдореИрдЯреНрд░рд┐рдХреНрд╕ред
рдЫрд╡рд┐ = [0 0 0 0 0 0 0 1 0 0 0;
0 0 0 1 1 0 0 1 0 0 0;
0 0 0 1 1 0 0 1 1 0 0;
0 1 1 1 1 0 0 1 1 1 1;
0 1 1 1 1 0 0 0 0 0 0;
0 1 1 1 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 1 1 0 0;
0 0 0 0 0 0 1 1 1 1 0 0;
0 1 1 0 0 1 1 1 1 0 0;
0 1 1 0 0 1 1 1 1 1 1;
0 1 1 1 0 1 1 0 1 1 0;
0 0 0 0 0 0 0 0 0 0 0 0]
Matplot (рдЫрд╡рд┐ * 255) // рдЖрдЗрдП рдЪрд┐рддреНрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рджреЗрдЦреЗрдВ
[рдПрдо, рдПрди] = рдЖрдХрд╛рд░ (рдЫрд╡рд┐); // рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдХреНрд╖реИрддрд┐рдЬ рдФрд░ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЖрдпрд╛рдореЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
рдХрд┐рдореА = 0; kn = 0; // рд╡реЗ рдЕрднреА рднреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗ
cur = 1; / / рдЧрд┐рдирддреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЪрд░* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛редрд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2 - рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ред
рдФрд░ рдлрд┐рд░ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдЪреЗрдХ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдХреЗ рдЫрд╡рд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдУред рдПрдмреАрд╕реА рдорд╛рд╕реНрдХ, рдЬрд┐рд╕реЗ рд╣рдо рдЪрд┐рддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рдЪрд┐рддреНрд░ 3 рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдореБрдЦреМрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдВрдЪреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЛ рдЪрд┐рддреНрд░ 4 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
// рдЫрд╡рд┐ рдкрд┐рдХреНрд╕рд▓ рдХрд╛ рдЪрдХреНрд░
i = 1: 1: m рдХреЗ рд▓рд┐рдП
j = 1: 1: n рдХреЗ рд▓рд┐рдП
kn = j - 1;
рдЕрдЧрд░ kn <= 0 рд╣реЛ рддреЛ
kn = 1;
рдмреА 0 рд╣реИ;
рдЕрдиреНрдпрдерд╛
рдмреА = рдЫрд╡рд┐ (рдореИрдВ, рдШреБрдЯрдиреЗ); // рд▓реЗрдЦ рдореЗрдВ рдЪрд┐рддреНрд░ 3 рджреЗрдЦреЗрдВ
рдЕрдВрдд
рдХрд┐рдореА = рдореИрдВ - 1;
рдпрджрд┐ рдХрд┐рдореА <= 0 рддреЛ
рдХрд┐рдореА = 1;
рд╕реА 0 рд╣реИ;
рдЕрдиреНрдпрдерд╛
рд╕реА = рдЫрд╡рд┐ (рдХрд┐рдореА, рдЬреЗ); // рд▓реЗрдЦ рдореЗрдВ рдЪрд┐рддреНрд░ 3 рджреЗрдЦреЗрдВ
рдЕрдВрдд
рдП = рдЫрд╡рд┐ (рдЖрдИ, рдЬреЗ); // рд▓реЗрдЦ рдореЗрдВ рдЪрд┐рддреНрд░ 3 рджреЗрдЦреЗрдВ
рдпрджрд┐ A == 0 рддреЛ // рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдкрд┐рдХреНрд╕реЗрд▓ рдЦрд╛рд▓реА рд╣реИ, рддреЛ рдХреБрдЫ рднреА рди рдХрд░реЗрдВ
рдЕрдиреНрдп рдмреА == 0 & C == 0 рддрдм // рдпрджрд┐ рд╣рдорд╛рд░рд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдЦрд╛рд▓реА рд╣реИ рдФрд░ рд╡рд╣ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ - рддреЛ рдпрд╣ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рдПрдХ рдЕрд╡рд╕рд░ рд╣реИред
cur = cur + 1;
рдЫрд╡рд┐ (i, j) = рд╡рдХреНрд░;
рдФрд░ рдлрд┐рд░ рдмреА ~ = реж рдФрд░ рд╕реА == реж
рдЫрд╡рд┐ (i, j) = B;
рдЙрд╕рдХреЗ рдмрд╛рдж B == 0 рдФрд░ C ~ = 0 рддрдм
рдЫрд╡рд┐ (i, j) = C;
рдФрд░ рдлрд┐рд░ рдмреА ~ = 0 рдФрд░ рд╕реА ~ = реж
рдЕрдЧрд░ B == C рддрдм
рдЫрд╡рд┐ (i, j) = B;
рдЕрдиреНрдпрдерд╛
рдЫрд╡рд┐ (i, j) = B;
рдЫрд╡рд┐ (рдЫрд╡рд┐ == рд╕реА) = рдмреА;
рдЕрдВрдд
рдЕрдВрдд
рдЕрдВрдд
рдЕрдВрдд* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛редрд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 3 - рдЫрд╡рд┐ рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рдХреНрд░рдорд┐рдХ рд╕реНрдХреИрдирд┐рдВрдЧ рдФрд░ рдЬреБрдбрд╝реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ред
рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд▓реЗрдмрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реЛрдЧрд╛:
рдЪрд┐рддреНрд░ 5 - рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2 рдФрд░ 3 рдХреЗ рдкрд░рд┐рдгрд╛рдо - рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрджреНрд╡рд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛рдПрдВ рджреА рдЧрдИ рд╣реИрдВред
рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрдбрд╝реЗ рдФрд░ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╢реЛрдзрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд▓реЗрдЦ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рд▓реЗрдмрд▓ рд░реАрдХреЙрдореНрдмрд┐рдВрдЧ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкрд░, рдореИрдВ рдкрд╛рдардХ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред SciLab рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓реЗрдЦ рдХреЗ рдЕрдВрддрд┐рдо
рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рдЫрджреНрдордХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░реВрдВрдЧрд╛ред
рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ - рдпрд╣ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЖрдХрд╛рд░, рдХреЙрдореНрдкреИрдХреНрдЯрдиреЗрд╕ рдФрд░ рдорд╛рд▓рд┐рдиреЛрд╡рд╕реНрдХреА рдХрд╛рд░рдХ рдХреЗ рдЕрдиреБрднрд╡рдЬрдиреНрдп рдХрд╛рд░рдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред рд╣рдо рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЪрд┐рддреНрд░рдг рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕ рдкрд░ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдПрдХ рд╕рд╣рдЬ рдкрд░рд┐рд╡рд░реНрддрди рдЙрд╕рдХреЗ рдХрд╛рд░рдХ рд░реВрдк рдореЗрдВ рд╡реГрджреНрдзрд┐ рдпрд╛ рдХрдореА рд╕реЗ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
рд╕рдВрджрд░реНрдн рдФрд░ рд╕рдВрджрд░реНрдн
[рез] рдЗрдореЗрдЬ
рд▓рд┐рдВрдХ рдореЗрдВ рдПрд▓рдЧреЛрд░рд┐рджрдо / рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ
(рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдпрд╣ рд▓реЗрдЦ рдПрдХ рдмрд╛рд░ рд╣реИрдмреЗ рдкрд░ рдерд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдерд╛)[реи] рд╡реНрдпрд╛рдЦреНрдпрд╛рди:
рдкреАрдкреАрдЯреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЫрд╡рд┐
рд▓рд┐рдВрдХ рдореЗрдВ рдирд┐рд╣рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг