18
Декабрь
2009
Заполнение двумерного массива по спирали
Заполнение двумерного массива по спирали
N = 20 M = 15 mn = M * N xZ = 1 yZ = 1 x = 1 y = 1 cnt = 0 Do DoEvents For x = xZ To N M1(Abs(x), Abs(y)) = M2(cnt) cnt = cnt + 1 If cnt = mn Then Exit Sub Next x = x - 1 yZ = yZ + 1 For y = yZ To M M1(Abs(x), Abs(y)) = M2(cnt) cnt = cnt + 1 If cnt = mn Then Exit Sub Next y = y - 1 N = N - 1 For x = -N To -xZ M1(Abs(x), Abs(y)) = M2(cnt) cnt = cnt + 1 If cnt = mn Then Exit Sub Next x = x - 1 M = M - 1 For y = -M To -yZ M1(Abs(x), Abs(y)) = M2(cnt) cnt = cnt + 1 If cnt = mn Then Exit Sub Next y = y - 1 xZ = xZ + 1 Loop