• Предмет: Информатика
  • Автор: yepboo4
  • Вопрос задан 5 месяцев назад

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


Аноним: вот хорошо то да модебляторов нету
Аноним: Я все-таки не понимаю, каких данных не хватало модераторам Аллочке19 и РеМиДе, что они удалили задачи https://znanija.com/task/51037058 https://znanija.com/task/51049268 ВОТ РЕШИЛИ ЖЕ ЛЮДИ - https://znanija.com/task/51097072 Так в чем тогда проблема? Может быть проблема в том, что эти модераторы полностью некомпетентны? На вопросы по своим же удалениям не отвечают, пользователей, задающих им вопросы об этом, блокируют.
Аноним: а это не мой вопрос был блля
Аноним: и похуй

Ответы

Ответ дал: asilvejstruk
0

def rotate_matrix(matrix, p):

   # Create a new matrix to hold the rotated elements

   rotated_matrix = [[0 for _ in range(len(matrix))] for _ in range(len(matrix))]

   # Iterate through the blocks of the matrix

   for i in range(0, len(matrix), p):

       for j in range(0, len(matrix), p):

           # Iterate through the elements of the block

           for x in range(p):

               for y in range(p):

                   # Rotate the element and place it in the new matrix

                   rotated_matrix[j+y][len(matrix)-i-p+x] = matrix[i+x][j+y]

   return rotated_matrix

# Test the function

matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

print(rotate_matrix(matrix, 2))

# [[3, 4, 11, 12], [2, 8, 10, 16], [1, 7, 15, 14], [5, 6, 9, 13]]

Вас заинтересует