![]() |
|
Модераторы: Poseidon |
![]()
|
|
| DasBit |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.1.2010 Репутация: нет Всего: 1 |
Люди помогите пожалуйста
Вот мой код:
Все...дальше ступор |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
мне просто интересно, где в матрице 4на4 центр? в какой точке? |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 16 Всего: 160 |
-------------------- |
|||
|
||||
| DasBit |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.1.2010 Репутация: нет Всего: 1 |
Имееться в виду любая точка из центрального квадрата:
[1,1];[1,2];[2,1];[2,2]; Я пытался разобраться в задаче, взяв за стартовую точку [2,1] В тетради все расписал как координата изменяеться, но так и не смог найти никакой закономерности :( |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
как по мне - эта задача красиво решается с помощью рекурсии.
начиная с левого верхнего угла квадрата мы строим спираль по часовой стрелке. в конце концов спираль "закрутится" и в момент закручивания как раз пойдут обратные вызовы рекурсивной функции, которая и будет заполнять квадратики числами. |
|||
|
||||
| DasBit |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.1.2010 Репутация: нет Всего: 1 |
Мы к сожалению рекурсию еще не учили. Но мне препод подсказал, что задача состоит из двух циклов, и большого количества условий
|
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
ну так прояви смекалку. выучи её. и препод похвалит, и перед однокурсниками похвастаешься. ещё вариант "рекурсии без рекурсии" алгоритм тот же самый, только на каждом шагу ты в дополнительный массив индекс текущего "обходного" элемента записываешь. когда подошёл к самому последнему(закрученному) элементу - занеси его значение тоже в массив. и после этого цикл по этому дополнительному массиву в обратном порядке. и каждому элементу значение нужное тебе присваиваешь. |
|||
|
||||
| DasBit |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.1.2010 Репутация: нет Всего: 1 |
Извените, мож я немного торможу, но я толком ничего не понял из того что вы мне сказали. Можно кратенький разьяснительный код ? Добавлено через 3 минуты и 39 секунд И еще препод сказал, что в этой задачке есть какая то закономерность, найдя ее задача очень легко решаеться, но я сколько не смотрел, закономерность нашел только одну: Сумма координатных точек идет попеременно четное, нечетное число. Но логики честно говоря я в этом никакой не вижу :( |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
ты должен придумать алгоритм, которые будет обходить элементы массива по спирали
в итоге он должен в таком порядке обойти все элементы: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 и на каждом шаге обхода - ты записываешь индекс матрицы текущего обходного элемента во вспомогательный массив. после того, как ты дойдёшь до 16 элемента - берёшь и считываешь в обратном порядке элементы из вспомогательного массива. эти элементы - это индексы для заполнения: начиная с центра спирали. |
|||
|
||||
| DasBit |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.1.2010 Репутация: нет Всего: 1 |
Спасибо большое
|
|||
|
||||
| DasBit |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.1.2010 Репутация: нет Всего: 1 |
Я сделал кое какие наброски программы, но препод сказал, что почти правильно. Вместо циклов это все нужно делать через if'ы. Плдскажите плз как, я не пойму
cout'ы с выводом сообщения делал для того чтобы просто проследить правильность передвижения по матрице |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
задавай свои вопросы в "С++ для новичков". там тебе быстрей ответят. в Центр Помощи пишут халявщики, которые хотят чтобы за них всё сделали. |
|||
|
||||
| DasBit |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.1.2010 Репутация: нет Всего: 1 |
Ну даделайте тогда просто эту задачку, если вам не сложно
|
|||
|
||||
| DasBit |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 3.1.2010 Репутация: нет Всего: 1 |
Только пожалуйста побольше комментариев, чтобы я смог в коде нормально разобраться
|
|||
|
||||
| Dov |
|
||||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 50 Всего: 88 |
А что тут комментировать? Следи за перемещениями по индексам и всё. Или тебя за ручку водить надо? Маленький что-ли?
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
||||
|
|||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |