Faça um programa que, dados dois vetores bidimensionais (matrizes A e B ) com dimensões de no máximo 5 times 5 elementos, retorne:
a soma das diagonais de cada matriz

Passo 1

Beleza, vamos recapitular o que o exercício quer. A gente tem duas “matrizes” A e B, cada uma com no máximo 5×5 elementos, e precisa fazer um programa que calcule a soma das duas diagonais de cada matriz. O tópico aqui é “como percorrer matrizes e identificar as diagonais” — em especial a diagonal principal (elementos A[i][i]) e a diagonal secundária (elementos A[i][n−1−i]). Para resolver isso, vamos precisar de:
• Saber percorrer uma matriz com loops (for)
• Entender o que é diagonal principal e diagonal secundária
• Lidar com o caso de matriz de dimensão ímpar, onde o elemento central estaria em ambas as diagonais

Passo 2

Primeiro vamos lidar com a diagonal principal da matriz A. Supondo que a matriz tenha dimensão n×n (com n ≤ 5), a diagonal principal é composta por todos os elementos A[i][i], para i variando de 0 até n−1.
Em pseudocódigo:
somaPrincipalA = 0
para i de 0 até n−1:
    somaPrincipalA ← somaPrincipalA + A[i][i]

Passo 3

Agora a diagonal secundária da matriz A. Ela vai de cima à direita até baixo à esquerda, com índice j = n−1−i. Então:
somaSecundariaA = 0
para i de 0 até n−1:
    somaSecundariaA ← somaSecundariaA + A[i][n−1−i]

Passo 4

Cuidado com o “meio” quando n for ímpar: o elemento A[k][k] com k = (n−1)/2 aparece nas duas somas, mas só queremos contá-lo uma vez no total. Então, se n for ímpar, subtraímos esse elemento extra uma vez:
se n for ímpar:
    centro = A[(n−1)/2][(n−1)/2]
senão:
    centro = 0

Passo 5

A soma total das diagonais da matriz A fica então:
somaDiagonaisA = somaPrincipalA + somaSecundariaA − centro

Passo 6

Repetimos exatamente o mesmo processo para a matriz B (com somaPrincipalB, somaSecundariaB, possivelmente subtraindo o centro se B for de ordem ímpar) e obtemos:
somaDiagonaisB = somaPrincipalB + somaSecundariaB − centroB

Resposta

A soma das diagonais da matriz A é
sumi=0^n-1 A[i][i];+;sumi=0^n-1 A[i][n-1-i];-;(centro de A, se n ímpar) í
e, de forma análoga, a soma das diagonais da matriz B é
sumi=0^n-1 B[i][i];+;sumi=0^n-1 B[i][n-1-i];-;(centro de B, se n ímpar), í
Isso resolve o programa pedindo a soma das diagonais de cada matriz.

Exercícios relacionados