Faça uma função em linguagem C que recebe, por parâmetro, uma matriz A(6,6) e retorna a soma dos elementos da sua diagonal principal e da sua diagonal secundária.
Soluções para a tarefa
Caso você queira somente a função:
#include <stdio.h>
int resultado[2];
int * soma_diagonais(int A[][2], int size){
int soma_principal = 0, soma_secundaria = 0;
for(int i = 0; i < size; i++){
for(int j = 0; j < size; j++){
if(i == j){
soma_principal += A[i][j];
}
if(i + j == size - 1){
soma_secundaria += A[i][j];
}
}
printf("\n");
}
resultado[0] = soma_principal;
resultado[1] = soma_secundaria;
return resultado;
}
Se quiser o código com a função "main" e lendo os números pelo terminal para preencher a matriz:
#include <stdio.h>
int resultado[2];
int * soma_diagonais(int A[][6], int size){
int soma_principal = 0, soma_secundaria = 0;
for(int i = 0; i < size; i++){
for(int j = 0; j < size; j++){
if(i == j){
soma_principal += A[i][j];
}
if(i + j == size - 1){
soma_secundaria += A[i][j];
}
}
printf("\n");
}
resultado[0] = soma_principal;
resultado[1] = soma_secundaria;
return resultado;
}
int main()
{
int size = 6;
int A[size][size];
for(int i = 0; i < size; i++){
for(int j = 0; j < size; j++){
scanf("%d", &A[i][j]);
}
}
int * r = soma_diagonais(A, size);
printf("Soma da diagonal principal: %d\n", r[0]);
printf("Soma da diagonal secundária: %d\n", r[1]);
return 0;
}