Заполнить массив последовательными натуральными числами, идущими по спирали - VB
Формулировка задачи:
привет всем
не могу написать программу, помогите пожалуйста
можно просто алгоритм с соответствующими операциями
Дан квадратный двумерный массив n на n. Заполнить его последовательными натуральными числами, идущими по спирали.
Mассив заполнен числами от 1 по n^2
Cпираль начинается с левого верхнего угла и идет по часовой стрелке
Решение задачи: «Заполнить массив последовательными натуральными числами, идущими по спирали»
textual
Листинг программы
Sub main() Dim S As Range, N%, C%, R%, I%, J%, dC%, dR% Set S = Selection: S.ClearContents N = S.Columns.Count C = 1: R = 1: J = 1: S(1, 1) = 1 For I = 1 To 2 * N - 1 dC = (2 - I Mod 4) Mod 2 dR = (2 - (I - 1) Mod 4) Mod 2 Do If C + dC > N Or C + dC < 1 Then Exit Do If R + dR > N Or R + dR < 1 Then Exit Do If S(R + dR, C + dC) Then Exit Do C = C + dC R = R + dR J = J + 1 S(R, C) = J Loop Next I End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д