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


Оставить комментарий

Я не робот.