Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/55: Рейтинг темы: голосов - 55, средняя оценка - 4.84
2 / 2 / 0
Регистрация: 25.03.2018
Сообщений: 91
1

Поворот матрицы на 90 градусов по часовой стрелке

10.03.2019, 16:33. Показов 10544. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Непонятно как не транспонировать, а именно повернуть на 90

Дан массив N × M. Требуется повернуть его по часовой стрелке на 90 градусов.
Входные данные

На первой строке даны натуральные числа N и M (1 ≤ N, M ≤ 50). На следующих N строках записано по M неотрицательных чисел, не превышающих 109 – сам массив.

Выходные данные
Выведите повернутый массив в формате входных данных.

Примеры

входные данные
3 4
1 2 3 4
5 6 7 8
9 10 11 12

выходные данные
4 3
9 5 1
10 6 2
11 7 3
12 8 4
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2019, 16:33
Ответы с готовыми решениями:

Поворот матрицы на 90 градусов по часовой стрелке
Поскольку в стандартной библиотеке Python подобная функция отсутствует, надо создать собственную...

Поворот прямоугольного массива на 90 градусов по часовой стрелке
python 3.6.4 Дан прямоугольный массив размером t*k. Поверните его на 90 градусов по часовой...

Переворот матрицы (двумерного массива) на 90 градусов по часовой стрелке
Доброго времени суток! Хотелось бы узнать больше о методе (кажется так и называется) zip. Насколько...

Повернуть массив по часовой стрелке на 90 градусов
Дан массив N × M. Требуется повернуть его по часовой стрелке на 90 градусов. Входные данные На...

8
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
10.03.2019, 16:56 2
а сам?
0
2 / 2 / 0
Регистрация: 25.03.2018
Сообщений: 91
10.03.2019, 17:04  [ТС] 3
m0nte-cr1st0, я написал сверху, что мне непонятно
0
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
10.03.2019, 17:12 4
Pavlin235, попробуйте для начала сами и выложите код, чтоб подсказали, что у Вас не получается. Тот же гугл и поиск по форуму никто не отменял.
0
2 / 2 / 0
Регистрация: 25.03.2018
Сообщений: 91
10.03.2019, 17:13  [ТС] 5
m0nte-cr1st0, спасибо, большое
0
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
10.03.2019, 17:15 6
Переворот матрицы (двумерного массива) на 90 градусов по часовой стрелке

Добавлено через 36 секунд
https://www.cyberforum.ru/pyth... 72515.html
0
2 / 2 / 0
Регистрация: 25.03.2018
Сообщений: 91
10.03.2019, 17:24  [ТС] 7
m0nte-cr1st0, это не совсем то..
0
Эксперт по компьютерным сетям
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
10.03.2019, 21:45 8
Цитата Сообщение от Pavlin235 Посмотреть сообщение
это не совсем то
это не совсем что?
0
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
10.03.2019, 23:08 9
Нужно создать тему "Повернуть матрицу куда хошь" и закрепить её.
Глядишь, перестанут писать: "ну это не совсем то, а нужно как-то вот так...".
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def rotatematrix(m, rot90=0):
    # обычное транспонирование
    if not rot90:
        m =[list(t)  for t in zip(*m)]
    # поворот вправо на 90
    elif rot90 == 1:    
        m =[list(t) for t in zip(*reversed(m))]
    # поворот влево на 90   
    elif rot90 == -1:
        m =[list(t) for t in zip(*m)][::-1]
    
    return m     
        
import numpy as np
        
m = [
  [1, 2, 3, 4],
  [5, 6, 7, 8],
  [9, 10, 11, 12]
]        
 
print('-----Транспонирование---------')
print(np.array(rotatematrix(m)))
print(np.transpose(m))
print('-----Поворот по часовой стрелке---------')
print(np.array(rotatematrix(m,rot90=1)))
print(np.rot90(m,k=-1)) # также вправо
print('-----Поворот против часовой стрелки---------')
print(np.array(rotatematrix(m,rot90=-1)))
print(np.rot90(m,k=1)) # также влево
P.S. Функция numpy.rot90 может вертеть матрицы на 90+90+90+90 градусов в любые стороны.
0
10.03.2019, 23:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2019, 23:08
Помогаю со студенческими работами здесь

Поворот квадратной матрицы на 90 градусов по часовой стрелке, затем на 90 градусов против часовой стрелки
Задача: Поворот квадратной матрицы на 90 градусов по часовой стрелке, затем на 90 градусов против...

Поворот квадратной матрицы на 90 градусов по часовой стрелке, затем на 90 градусов против часовой стрелки
Поворот квадратной матрицы на 90 градусов по часовой стрелке, затем на 90 градусов против часовой...

Поворот матрицы на 90 градусов по часовой стрелке
import numpy as np n = int(input('Количество строк = ')) m = int(input('Количество столбцов = '))...

Поворот матрицы на 45 градусов по часовой стрелке
Добрый день, никак не могу решить задачку: Решить поставленную задачу, используя средства...

Поворот матрицы на 90 градусов по часовой стрелке
Подскажите как повернуть двумерный массив по часовой стрелке, можно использовать другой массив либо...

Поворот матрицы на 90 градусов по часовой стрелке
заполнить матрицу целыми числами, развернуть ее на 90 градусов по часовой стрелке

Поворот матрицы на 180 градусов по часовой стрелке
Нужна программа,которая повернет квадратную матрицу из N строк и N столбцов на 180 по часовой....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru