Faça uma função que recebe, por parâmetro, uma matriz A[3][3] e retorna a soma dos elementos da sua diagonal principal e da sua diagonal secundária

Passo 1

Neste exercício, precisamos criar uma função que receba uma matriz de tamanho 3 times 3 e retorne a soma dos elementos da sua diagonal principal e da diagonal secundária. Vamos usar conceitos de indexação em matrizes e laços de repetição.

Passo 2

A diagonal principal de uma matriz A[3][3] contém os elementos em que o índice da linha é igual ao índice da coluna. Ou seja, são os elementos A[0][0], A[1][1] e A[2][2].
A diagonal secundária de uma matriz 3 times 3 tem os elementos em que o índice da coluna é dado por 2 - i, sendo i o índice da linha. Assim, são os elementos A[0][2], A[1][1] e A[2][0].

Passo 3

Para somar ambos os conjuntos, basta percorrer um laço for de i = 0 até 2 e acumular em uma variável soma os valores A[i][i] (diagonal principal) e A[i][2 - i] (diagonal secundária). Observe que o elemento central A[1][1] será somado duas vezes, que é exatamente o que o enunciado pede — soma das duas diagonais.

Passo 4

Com tudo definido, implementamos a função em C da seguinte forma:

Resposta

int somaDiagonais(int A[3][3]) {
int soma = 0;
for (int i = 0; i < 3; i++) {
soma += A[i][i] + A[i][2 - i];
}
return soma;
}

Exercícios relacionados