Петля по спирали



друг нуждался в алгоритме, который позволил бы ему перебирать элементы матрицы NxM (N и M нечетны). Я придумал решение, но я хотел посмотреть, могут ли мои коллеги SO'ERS придумать лучшее решение.

Я публикую свое решение в качестве ответа на этот вопрос.

Пример:

для матрицы 3x3 выход должен быть:

(0, 0) (1, 0) (1, 1) (0, 1) (-1, 1) (-1, 0) (-1, -1) (0, -1) (1, -1)

3x3 matrix

кроме того, алгоритм должен поддерживать неквадратичные матрицы, поэтому, например, для матрицы 5x3 выход должен быть:

(0, 0) (1, 0) (1, 1) (0, 1) (-1, 1) (-1, 0) (-1, -1) (0, -1) (1, -1) (2, -1) (2, 0) (2, 1) (-2, 1) (-2, 0) (-2, -1)

5x3 matrix

138   0  
    Ничего не найдено.

Добавить ответ:
Отменить.