import random

#cria matriz
matriz = []
#usuário digita a Qtd de linhas e colunas desejadas;
m = int(input("Informe a qtd de linhas desejadas na Matriz: "))
n = int(input("Informe a qtd de colunas desejadas na Matriz: "))
#usuário define o intervalo para geração automática de valores.
a = int(input("Defina o início do intervalo para geração aleatória: "))
b = int(input("Defina o fim do intervalo para geração aleatória: "))

posicao = (0, 0)  # Armazena a posição do maior valor


for i in range(m):
    linha = []
    for j in range(n):
        x = float(random.uniform(a, b)) #gera números aleatórios dentro do intervalo definido
        linha.append(x)

    matriz.append(linha)

produto = 1
maior = max([max(linha) for linha in matriz])

for posicao, linha in enumerate(matriz):
    produto *= max(linha)
    if maior in linha:
        posicao_maior = (posicao, linha.index(maior))

print("----------------------------")
print("Respostas das alternativas")
print("----------------------------")
print("(A) A matriz gerada aleatoriamente é: ", matriz)
print("(B) O maior valor está na posição {} e vale {}".format(posicao_maior, maior))
print("(C) O produto dos maiores valores de cada uma das linhas é {}".format(produto))