Alternativa A
A questão solicita um algoritmo para ler uma matriz quadrada e imprimir seus elementos da diagonal principal.
Conceitos Fundamentais
Para resolver esta questão, é necessário compreender dois pontos principais sobre matrizes:
- Matriz Quadrada: Uma matriz onde o número de linhas é igual ao número de colunas (n \times n).
- Diagonal Principal: São os elementos onde o índice da linha é exatamente igual ao índice da coluna. Matematicamente, para uma posição (i, j), pertence à diagonal principal quando i = j.
\text{Diagonal Principal} \Rightarrow \text{Elementos } A_{i,i}
Análise das Alternativas
Vamos analisar a lógica de cada opção apresentada na imagem:
- Alternativa A:
- O código lê toda a matriz corretamente usando dois loops aninhados.
- No segundo bloco de
for, ele itera apenas pela variável i (de $0$ a n-1). - Dentro do loop, ele imprime
matriz[i][i]. - Isso acessa as posições (0,0), (1,1), (2,2) \dots, que correspondem exatamente à definição da diagonal principal.
- Alternativa B:
- Imprime
matriz[i][n-1-i]. - Isso acessa as posições (0, n-1), (1, n-2) \dots.
- Esta é a fórmula para a diagonal secundária, não a principal.
- Alternativa C:
- Imprime
matriz[n-1-i][i]. - Similar à B, também percorre a diagonal secundária, começando do canto inferior esquerdo.
- Alternativa D:
- Possui um comando condicional
if(i == j) dentro de um loop que só define i. Isso tornaria o código inválido ou logicamente inconsistente sem um loop interno para j, além de ser uma abordagem desnecessariamente complexa para o objetivo.
Conclusão
A única alternativa que implementa corretamente a lógica de acessar o elemento onde o índice da linha é igual ao índice da coluna é a Alternativa A.
Resumo da lógica da solução correta:
- Entrada: Leitura completa da matriz n \times n.
- Processamento: Iteração simples i de $0$ a n-1.
- Saída: Impressão de
matriz[i][i].