![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.01.2009
Сообщений: 71
|
![]()
Уважаемые программисты!
В задаче дана квадратная матрица порядка M, повернуть её на 90 градусов вправо или влево , когда элемент а[1][1] переходит в а[1][m], a[m][1] в a[1][1] и т.д. Вспомогательную матрицу не использовать. Кто сможет, помогите! Последний раз редактировалось RomT24; 10.01.2009 в 22:09. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ищите. я здесь на форуме писал такой код по повороту матрицы.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 27.10.2008
Сообщений: 38
|
![]()
поворот вправо))
Код:
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 10.01.2009
Сообщений: 71
|
![]()
Спасибо, но мне бы ещё комментарии к основным циклам, а то своими мозгами что то дойти не могу...)
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 10.01.2009
Сообщений: 71
|
![]()
И , как я понял, в этом решении используется вспомогательная матрица, а по условию это делать нельзя. Может, у кого есть другие мысли?
![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 27.10.2008
Сообщений: 38
|
![]()
Мои извинения, не до конца прочитал условие!!!
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 10.01.2009
Сообщений: 71
|
![]()
Не сможешь помочь тогда? (
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 09.04.2008
Сообщений: 10
|
![]()
Можно использовать одну матрицу, просто записать вводимые данные не в a[i,j], а в a[i+n,j+n], и потом их оттуда забрать в a[j,i]. Или это будет считаться за вспомогательную матрицу??
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
RomT24,
сейчас некогда написать реализацию. Идею решения хотите? для матрицы размером n (в примере n=4) поворот на 90 градусов по часовой. идём по главной диагонали. берём A[1,1] копируем его в A[1,n], элемент, который там был -> A[n,1], тот, в свою очередь в -> A[1,1] дальше идём по строке от элемента главной диагонали до N-1 элемента по строке A[2,1] -> A[2,n] -> A[n,n-1] -> A[2,1] A[3,1] -> A[3,n] -> A[n,n-2] -> A[3,1] всё. дошли до конца первой строки... берём следующий элемент главной диагонали: A[2,2] и крутим по кругу его.. и т.д. Так понятно? |
![]() |
![]() |
![]() |
#10 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Реализация идеи Serge_Bliznykov.
Проверил при разных n - вроде работает. Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как повернуть изображение на 180 градусов? | kl45gp | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 11.05.2013 13:10 |
Повернуть двумерный массив на 180 градусов - задача на Pascal'е | Sanakan | Помощь студентам | 7 | 15.12.2008 00:16 |
Прога по переводу градусов | ELL | Помощь студентам | 8 | 04.07.2008 23:02 |
Нарисовать,стереть,повернуть,отразить в паскале! | Барби | Помощь студентам | 2 | 23.04.2008 00:24 |
Циклическо сдвинуть элементы массива на K позиций влево, тоже сделать, испульзуя динамические массивы | Fimogen | Общие вопросы C/C++ | 10 | 03.11.2007 11:19 |