Пошук елементів двовимірного масиву, які задовольняють певній умові
Для організації пошуку в двовимірному масиві елементів із заданими властивостями слід за допомогою вкладених циклів перевірити кожний елемент на відповідність деякій умові.
Приклад:
Знайдемо кількість парних елементів у кожному стовпці масиву tabl(3 × 4).
tabl = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]
for j in range(4): # Зовнішній цикл по стовпцях
k = 0 # Перед початком перегляду кожного стовпця k обнуляється
for i in range(3): # Внутрішній цикл по рядках
if tabl[i][j]%2 == 0:
k = k+1
print('У ', j, '-му стовпці k = ', k)
tabl = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]
for j in range(4): # Зовнішній цикл по стовпцях
k = 0 # Перед початком перегляду кожного стовпця k обнуляється
for i in range(3): # Внутрішній цикл по рядках
if tabl[i][j]%2 == 0:
k = k+1
print('У ', j, '-му стовпці k = ', k)
Приклад:
Знайдемо в кожному рядку масиву tabl(3 × 4) кількість елементів, які перевищують середнє арифметичне значення масиву.
tabl = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]
s = 0
for i in range(len(tabl)):
s = s+sum(tabl[i]) # До значення суми додається сума елементів і-го рядка
sr = s/12 # Обчислення середнього арифметичного елементів масиву
print('sr = ', sr)
for i in range(len(tabl)): # Зовнішній цикл по рядках
tabl = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]
s = 0
for i in range(len(tabl)):
s = s+sum(tabl[i]) # До значення суми додається сума елементів і-го рядка
sr = s/12 # Обчислення середнього арифметичного елементів масиву
print('sr = ', sr)
for i in range(len(tabl)): # Зовнішній цикл по рядках
k = 0
for j in range(len(tabl[i])):
if tabl[i][j]>sr: k = k+1
print('B ', i, '-тому рядку таких елементів ', k)
for j in range(len(tabl[i])):
if tabl[i][j]>sr: k = k+1
print('B ', i, '-тому рядку таких елементів ', k)
Формування одновимірного масиву з елементів двовимірного масиву за певним критерієм
Приклад:
Заповнимо список b значеннями максимальних елементів стовпців масиву tabl(3 × 4).
tabl = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]
b = []
for j in range(4): # Зовнішній цикл по стовпцях
m = tabl[0][j] # Перед початком перегляду кожного стовпця
# m набуває значення елемента, що знаходиться
# у цьому стовпці у нульовому рядку
for i in range(1, 3): # Внутрішній цикл по рядках
if tabl[i][j]>m: m = tabl[i][j]
b.append(m) # Максимальний елемент j-го стовпця додається до списку b
print('b = ', b) # b = [7, 8, 9, 4]
tabl = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]
b = []
for j in range(4): # Зовнішній цикл по стовпцях
m = tabl[0][j] # Перед початком перегляду кожного стовпця
# m набуває значення елемента, що знаходиться
# у цьому стовпці у нульовому рядку
for i in range(1, 3): # Внутрішній цикл по рядках
if tabl[i][j]>m: m = tabl[i][j]
b.append(m) # Максимальний елемент j-го стовпця додається до списку b
print('b = ', b) # b = [7, 8, 9, 4]
Джерела:
Інформатика : підруч. для 9 кл. закл. загал. серед.освіти / [О. О. Бондаренко, В. В. Ластовецький,О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Видво «Ранок», 2022