Uploaded by oazizbek829

1

advertisement
1. Дан квадратный массив размером 10 х 10, заполненный
двузначными целыми числами. Вывести на экран часть массива:
а) расположенную выше главной диагонали;
б) расположенную ниже побочной диагонали.
2. В квадратном массиве выделим четыре четверти, ограниченные
главной ипобочной диагоналями (без учета элементов, расположенных на
диагоналях): верхнюю, нижнюю, левую и правую. Найти сумму элементов:
а) верхней четверти;
в) нижней четверти;
б) правой четверти;
г) левой четверти.
3. Дан двумерный массив. Удалить из него:
а) две строки: одна из которых расположена перед s1-й строкой, а
вторая—перед s2-й;
б) два столбца: один из которых расположен после k1-го столбца, а
второй — перед k2-м столбцо
4. Используя датчик случайных чисел, заполнить двумерный массив
неповторяющимися
числами. Определить координаты
первого
минимального элемента побочной диагонали квадратного массива.
В задачах принять, что диагональ просматривается сверху вниз.
1) import numpy as np
# Создаем квадратный массив размером 10x10 с двузначными числами
array = np.random.randint(10, 100, (10, 10))
# а) Вывод части, расположенной выше главной диагонали
upper_diagonal = np.triu(array, k=1)
print("а) Часть массива выше главной диагонали:\n", upper_diagonal)
# б) Вывод части, расположенной ниже побочной диагонали
lower_diagonal = np.tril(array, k=-1)
print("б) Часть массива ниже побочной диагонали:\n", lower_diagonal)
2) # а) Верхняя четверть
upper_quarter_sum = np.sum(array[:5, :5])
# в) Нижняя четверть
lower_quarter_sum = np.sum(array[5:, 5:])
# б) Правая четверть
right_quarter_sum = np.sum(array[:, 5:])
# г) Левая четверть
left_quarter_sum = np.sum(array[:, :5])
print("а) Сумма элементов верхней четверти:", upper_quarter_sum)
print("в) Сумма элементов нижней четверти:", lower_quarter_sum)
print("б) Сумма элементов правой четверти:", right_quarter_sum)
print("г) Сумма элементов левой четверти:", left_quarter_sum)
3) # а) Удаление двух строк перед s1 и s2
s1, s2 = 3, 7
array = np.delete(array, [s1-1, s2-1], axis=0)
# б) Удаление двух столбцов после k1 и перед k2
k1, k2 = 2, 5
array = np.delete(array, [k1, k2-1], axis=1)
4) # Заполнение массива неповторяющимися числами
unique_numbers = np.random.permutation(100)[:10]
diagonal_array = np.diag(unique_numbers)
# Находим координаты первого минимального элемента побочной диагонали
min_element_index = np.unravel_index(np.argmin(diagonal_array[::-1, :]), diagonal_array.shape)
print("Координаты первого минимального элемента побочной диагонали:", min_element_index)
Download