Найти наименьшие элементы и номера строк и столбцов, в которых они распложены, для матриц A(10,15) и B(15,12).
Прошу помощь с заданием. Только учусь и целый день потратил на то, чтобы решить данное задание. Надеюсь вы поможете. Я посмотрю и попробую разобраться в коде.
Python
Матрицы в языке PHYTON
Примерно так:
Генерим случайные целочисленные матрицы указанного размера. Выводим их в стандартный вывод, чтоб можно было сверить.
Затем по каждой матрице ищем минимум за один обход. Функция allmin возвращает пару, в которой сам минимум и список пар координат, где он обнаружен. Эти данные выводим в стандартный вывод.
Координаты начинаются с нуля.
from random import randint
def allmin(m):
minv = m[0][0]
minidx = []
for i in range(len(m)):
for j in range(len(m[i])):
v = m[i][j]
if v < minv: minv, minidx = v, [(i, j)]
elif v == minv: minidx.append((i, j))
return (minv, minidx)
def matrix(N, M):
return [[randint(0, 40) for _ in range(M)] for _ in range(N)]
def fmt(m):
return '\n'.join(' '.join('%3d' % x for x in row) for row in m)
A = matrix(10, 15)
print("Матрица А", fmt(A), sep = '\n')
va, idxa = allmin(A)
print(f"Минимум {va} найден в координатах:", *idxa, sep = '\n')
B = matrix(15, 12)
print("Матрица B", fmt(B), sep = '\n')
vb, idxb = allmin(B)
print(f"Минимум {vb} найден в координатах:", *idxb, sep = '\n')
Генерим случайные целочисленные матрицы указанного размера. Выводим их в стандартный вывод, чтоб можно было сверить.
Затем по каждой матрице ищем минимум за один обход. Функция allmin возвращает пару, в которой сам минимум и список пар координат, где он обнаружен. Эти данные выводим в стандартный вывод.
Координаты начинаются с нуля.
Упрощенно так, без "матриц A(10,15) и B(15,12)", просто поиск номеров строк и столбцов содержащих минимум
m = [[34,8,76],
[67,12,8],
[56,34,45]]
col = [[m[k][i] for k in range(len(m))] for i in range(len(m[0]))]
min_ = min(sum(m,[]))
for i in range(len(m)):
for k in range(len(m[i])):
if m[i][k] == min_:
print(f'минимум {min_} найден в строке {i}')
for i in range(len(col)):
for k in range(len(col[i])):
if col[i][k] == min_:
print(f'минимум {min_} найден в столбце {i}')
Леночка Середкина
А ведь за один пробег всё можно было найти, а тут их - целых три.
Похожие вопросы
- Помогите решить задачу на Phyton
- Задача по Phyton
- Действия над матрицами
- Работа с матрицами на ЯП Python
- Необходимо написать программу которая посчитает сумму всех элементов в матрице.
- Как можно быстро выучить языки?
- Язык программирования и
- Программирование на языке python, помогите советом. Вопрос от чайника.
- Как стать программистом, как выучить язык?
- С какого языка начать программирование ?