Форум сайта python.su
Помогите пожалуйста решить задачи на матрицы
1 Напишите функцию snake1(n,m), которая возвращает матрицу 𝑛×𝑚 , заполненную следующим образом (пример для n=4 , m=3 ): [,,]
2 Напишите функцию snake2(n), которая возвращает матрицу 𝑛×𝑛 , заполненную следующим образом (пример для n=4 ): [, , , ]
3 Напишите функцию snake3(n,m), которая возвращает матрицу 𝑛×𝑚 , заполненную следующим образом (пример для n=4 , m=5 ):
[,
,
,
]
4 Напишите функцию paraboloid(n), которая возвращает матрицу размера 2𝑛+1×2𝑛+1 , для которой значение в ячейке равняется расстоянию от точки с координатами (0,0) до точки с координатами (𝑖−𝑛𝑛,𝑗−𝑛𝑛) . Расстояние - это вещественное число. Сделайте так, чтобы при печати выводилось только два знака после запятой.
5 Напишите функцию chess_queen(n,m,i,j), которая возвращает матрицу размера 𝑛×𝑚 , заполненную 0 и 1 по следующему правилу:
Предположим, мы имеем шахматную доску размером 𝑛×𝑚 и в ячейке (𝑖,𝑗) стоит ферзь. Клетки нумеруются с 0 из левого верхнего угла.
В клетку (𝑖,𝑗) необходимо поставить 2. Необходимо поставить 1 на все клетки, куда ферзь может ударить. В остальные клетки необходимо поставить 0 .
Пример chess_queen(3,4,2,2):
[,
,
]
6 Напишите функцию chess_knight(n,m,i,j), которая возвращает матрицу размера 𝑛×𝑚 , заполненную целами числами следующим образом. На поле с координатами 𝑖×𝑗 ставится шахматный конь. Значение в ячейке 𝑎×𝑏 раняется минимальному количеству ходов конем, которое надо совершить, чтобы из поля 𝑖×𝑗 попасть в поле 𝑎×𝑏 . Если в поле поасть невозможно, то значение в соотвествующей ячейке должно быть равно −1 .
Пример chess_knight(3,3,0,0):
[,
,
]
7 Напишите функцию generate(a,b,c), которая получает на вход три матрицы:
Матрица a – произвольная матрица из 0 и 1 имеющая размер 𝑛×𝑚
Матрицы b и c – произвольные матрицы имеющие одинаковый размер 𝑝×𝑞 .
Функция должна вернуть матрицу размера 𝑛𝑝×𝑚𝑞 , построенную по следующему правилу:
Вместо 0 матрицы a подставляется матрица b, вместо 1 матрицы a подставляется матрица с.
Пример:
a = np.array([,
])
b = np.array([,
])
c = np.array([,
])
generate(a,b,c) ->
[
]
8 Дана матрица 𝐴 размера 𝑛×𝑚 (n - строк и m - столбцов). Сформируйте две матрицы 𝐵 и 𝐶 . Первая размера 𝑛×1 , каждый элемент которой равен максимальному в соотвествующей строке 𝐴 . Вторая матрица размера 1×𝑚 , каждый элемент которой равен минимальному в соотвествующем столбце 𝐴 .
Например, если
А = [,
,
]
то
B = [,
,
]
C = []
9 Дана матрица 𝐴 размера 𝑛×𝑚 (n - строк и m - столбцов). Сформируйте две матрицы 𝐵 и 𝐶 . Первая размера 𝑛×1 , каждый элемент которой равен сумме в соотвествующей строке 𝐴 . Вторая матрица размера 1×𝑚 , каждый элемент которой равен произведению в соотвествующем столбце 𝐴 .
Например, если
А = [,
,
]
то
B = [,
,
]
C = []
Отредактировано cccvcc (Апрель 18, 2022 16:36:58)
Офлайн
def snake1(n: int, m: int): snake = [ [0]*m for i in range(n) ] return snake
Офлайн