Crie uma matriz 10 times 10 com elementos aleatórios no intervalo [0, 20]:
Imprima a matriz triangular inferior, em relação à diagonal secundária.

Passo 1

O enunciado pede para gerar uma matriz 10×10 com valores aleatórios no intervalo [0,20] e, a partir dela, imprimir apenas a parte que fica abaixo (e incluindo) a diagonal secundária.

Passo 2

Para resolver, vamos usar como conteúdo de teoria o conceito de diagonal secundária de uma matriz quadrada: numa matriz n×n, a diagonal secundária é formada pelos elementos cujos índices (i,j) satisfazem i + j = n + 1. A região triangular inferior em relação a essa diagonal são todos os pares (i,j) tais que i + j ≥ n + 1.

Passo 3

Vamos criar a matriz M usando uma função de números aleatórios inteiros. Em Python, por exemplo, poderíamos usar
import numpy as np
np.random.seed(0) # só para reproduzir o exemplo
M = np.random.randint(0, 21, size=(10,10))
Depois definimos uma máscara booleana Mask onde
Mask[i,j] = True se i + j >= 11 (pois n=10, então n+1=11)
Mask[i,j] = False caso contrário

Passo 4

Aplicamos a máscara para zerar ou ocultar os elementos fora da região desejada:
M_tri_sec = np.where(Mask, M, 0)
e então imprimimos M_tri_sec. Cada elemento M_tri_sec[i,j] será igual a M[i,j] se i+j ≥ 11, ou 0 caso contrário.

Resposta

A matriz triangular inferior em relação à diagonal secundária é dada por
Para 0 ≤ i,j ≤ 9 (índices base 0),
Mtri(i,j)= M(i,j), &se (i+1)+(j+1)>=11 0, &caso contrário á
Isto é, mantemos M(i,j) sempre que i+j≥10 (em índice base 0) e zeramos os outros elementos.

Exercícios relacionados