@trytrytry

Как распечатать элементы массива по часовой стрелке?

Как вывести элементы массива по часовой стрелке? понимаю что это делается рекурсивно, но не знаю как это сделать
подскажите пожалуйста
  • Вопрос задан
  • 2753 просмотра
Пригласить эксперта
Ответы на вопрос 2
Spetros
@Spetros
IT-шник
На бумажке нарисуйте свой массив и попробуйте написать логику обхода. Очевидно, в крайних точках должна происходить проверка условий и изменение последовательности вывода элементов.

Раз учитесь - учитесь думать своей головой.
Ответ написан
Комментировать
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Ничего не понял. Что значит "по часовой стрелке"? Двумерный массив обойти спиралью? Ну, не знаю, где такое может применяться, ну тогда да, рекурсивно проще. Пишем простую рекурсивную функцию с параметром - глубиной спуска - с базой в нуль (или половина размера массива, так будет понятнее, что значит глубина). Потом аккурат обходим массив, берём первый элемент, например, верхний правый. Потом левее. Дошли до границы? Теперь нижний, так до следующей границы. Потом идём вправо, и, наконец, вверх. В конце - функция вызывает саму себя, спускаясь по глубине дальше.

Если же надо на экране распечатать массив по часовой стрелке, то здесь надо будет выбрать центр на экране и переходить по экрану (например, c помощью VT100-кодов или JCurses). Немного синусов - косинусов. И магия - можно отображать часы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы