Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

помогите решить задачу в VBA

Романов Илья Мастер (1295), закрыт 12 лет назад
Получить целочисленную квадратную матрицу порядка 7, элементами которой являются числа 1, 2, ..49, расположенные в ней по спирали по часовой стрелке
Лучший ответ
makfromkz Высший разум (127003) 13 лет назад
решение:

Sub ppp()
Cells().ClearContents

xx = 1
yy = 1
xxmin = 1
yymin = 1
xxmax = 7
yymax = 7
kk = 1
'Cells(xx, yy) = kk
'kk = kk + 1
While True
If xx = xxmin Then
While yy < yymax ' èäåì ââåðõ
Cells(xx, yy) = kk
kk = kk + 1
yy = yy + 1
Wend
End If
If yy = yymax Then
While xx < xxmax ' èäåì âïðàâî
Cells(xx, yy) = kk
kk = kk + 1
xx = xx + 1
Wend
End If
If xx = xxmax Then
While yy > yymin ' èäåì âíèç
Cells(xx, yy) = kk
kk = kk + 1
yy = yy - 1
Wend
End If
If yy = yymin Then
While xx > xxmin ' èäåì âíèç
Cells(xx, yy) = kk
kk = kk + 1
xx = xx - 1
Wend
End If
If kk >= 50 Then
Exit Sub
Else
End If
xxmin = xxmin + 1
yymin = yymin + 1
xxmax = xxmax - 1
yymax = yymax - 1
yy = yymin
xx = xxmin
If kk = 49 Then
Cells(xx, yy) = kk
kk = kk + 1
yy = yy + 1
End If
Wend
End Sub
и на экране видим:
Остальные ответы
Похожие вопросы