Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2012, 22:08   #1
Makspane
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию проблемка с масивчиком - осуществить циклический сдвиг элементов матрицы (Delphi)

Цитата:
Осуществить циклический сдвиг элементов квадратной матрицы размером М * Н вправо на К элементов таким образом: элементы 1го строки - в последний столбец сверху вниз, из него-в последнюю строку справа налево, с этой строки - первый столбец снизу вверх, а из него - в первую строку ... для остальных элементов аналогвчно .....
как его решить?

From Stilet: Это русскоязычный форум. попрошу уважать форумчан, не имеющих дело с украинским языком.
прошу прощения(

Последний раз редактировалось Makspane; 07.05.2012 в 22:32.
Makspane вне форума Ответить с цитированием
Старый 08.05.2012, 08:38   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Взять и подумать по каким правилам задать смещения индексов массива при его отображении на экран.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.05.2012, 09:03   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, в подобных случаях, для наглядности и нахождения решения очень помогает схемка (ну, например, содержимое матрицы до сдвига и после). В данном случае происходит поворот матрицы (на 90 градусов ?!) по часовой стрелке. Имхо, такие задачи на форуме были.
А вот как в этом используется K - мне не очень понятно.
поясните, что Вы думаете по этому поводу?!

во-вторых, что касается решения.
если конечной целью решения является вывод повёрнутой матрицы на экран, то можно пойти по пути, предложенном Utkin - пересчитывать индексы, какой элемент нужно выводить.
я лично думаю, что в данной задаче нужно получить изменённую матрицу в памяти.
Тут сразу возникает вопрос - можно ли использовать дополнительную матрицу (куда и осуществлять отображение повёрнутой матрицы). Если да - то задача вырождается в элементарную!


p.s. да и ещё замечание.
Цитата:
элементов квадратной матрицы размером М * Н
фраза имеет смысл только при строго равестве M и H
я бы предпочёл более корректное обозначение: "элементов квадратной матрицы размером М * M "
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
циклический сдвиг элементов массива Carter Паскаль, Turbo Pascal, PascalABC.NET 0 19.12.2011 19:54
Массивы и циклический сдвиг элементов CHESTER_ROB Общие вопросы C/C++ 5 23.11.2010 13:46
C++.циклический сдвиг элементов квадратной матрицы arsalan Помощь студентам 1 11.05.2010 08:08
C++|Циклический сдвиг матрицы|Шаблоны|Перегрузка Troi666 Помощь студентам 2 01.05.2009 14:46
Циклический сдвиг строки матрицы Alex1991 Помощь студентам 1 14.04.2009 21:20