@Mango Интересная задачка на самом деле и вот мой вариант решения на языке Python, я использую random, но задачку лучше решать с numpy т.к она лучше с матрицами работает и с данными:
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 |
import random # Запрашиваем размер матрицы rows = int(input("Введите количество строк: ")) cols = int(input("Введите количество столбцов: ")) # Запрашиваем диапазон значений min_number = int(input("Минимальное рандомное число: ")) max_number = int(input("Максимальное рандомное число: ")) # Создаем матрицу со случайными значениями matrix = [[random.randint(min_number, max_number) for j in range(cols)] for i in range(rows)] # Выводим исходную матрицу print("Исходная матрица:") for row in matrix: print(row) # Запрашиваем величину сдвига shift = int(input("Введите величину сдвига: ")) # Осуществляем циклический сдвиг элементов матрицы shifted_matrix = [[matrix[(i - shift) % rows][(j - shift) % cols] for j in range(cols)] for i in range(rows)] # Выводим сдвинутую матрицу print("Сдвинутая матрица:") for row in shifted_matrix: print(row) |