Boa noite a todos.
Estou preso em na seguinte questão:
Dada uma matriz de 4 x 5 elementos inteiros, calcular a soma de cada linha, de cada coluna e de todos os seus elementos.
Obs: Utilize um vetor para armazenar o resultado da soma de cada linha e outro para a soma de cada coluna.
Então o programa pede o seguinte:
12345 = [15]
67890 = [30]
98765 = [35]
43212 = [12]
Armazenar a soma de cada linha da matriz em um vetor: VetorLinha[4] onde = [15], [30], [35], [12] estariam armazenados.
Eis o meu código:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
void receberMatriz(int matriz[4][5]);
void processarMatriz(int matriz[4][5], int vetorA[5], int vetorB[4]);
void resultadoMatriz(int matriz[4][5], int vetorA[5], int vetorB[4]);
int main(void)
{
setlocale(LC_ALL, "");
int matriz[4][5];
int vetorA[5];
int vetorB[4];
receberMatriz(matriz);
processarMatriz(matriz, vetorA, vetorB);
resultadoMatriz(matriz, vetorA, vetorB);
return 0;
}
void receberMatriz(int matriz[4][5])
{
int i, j;
for(i = 0; i < 4; i++)
{
for(j = 0; j < 5; j++)
{
printf("Insira valor posição [%i][%i]: ", i, j);
scanf("%i", &matriz[i][j]);
}
}
}
void processarMatriz(int matriz[4][5], int vetorA[5], int vetorB[4])
{
int i, j;
for(i = 0; i < 4; i++)
{
for(j = 0; j < 5; j++)
{
vetorA[j] = matriz[i][j];
soma = soma + vetorA[j];
vetorA[j] = soma;
}
}
for(j = 0; j < 5; j++)
{
for(i = 0; i < 4; i++)
{
vetorB[i] = matriz[j][i];
soma = soma + vetorB[i];
vetorB[i] = soma;
}
}
}
void resultadoMatriz(int matriz[4][5], int vetorA[5], int vetorB[4])
{
int i, j;
}
Claramente eu não alcancei a lógica e queria entender como eu faria esse algoritmo. Não sei o que devo fazer para concluir com êxito nessa parte do código:
void processarMatriz(int matriz[4][5], int vetorA[5], int vetorB[4])
{
int i, j;
for(i = 0; i < 4; i++)
{
for(j = 0; j < 5; j++)
{
vetorA[j] = matriz[i][j];
soma = soma + vetorA[j];
vetorA[j] = soma;
}
}
for(j = 0; j < 5; j++)
{
for(i = 0; i < 4; i++)
{
vetorB[i] = matriz[j][i];
soma = soma + vetorB[i];
vetorB[i] = soma;
}
}
}