Seja muito bem vindo à aula 119 do nosso curso gratuito de programação com a linguagem C.
Hoje, no exercício 9, vamos somar as linhas e as colunas de uma matriz e salvar em vetores com a linguagem C.
9) Crie um programa que preencha uma matriz 5×10 com números inteiros. Em seguida faça:
a) some cada uma das linhas armazenando o resultado em um vetor;
b) some cada uma das colunas armazenando o resultado em um vetor;
c) Imprima a matriz e os dois vetores identificando qual é a soma das linhas e qual é a soma das colunas.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int l, c, soma, mat[5][10], somaLinhas[5], somaColunas[10];
srand(time(NULL));
// preenche a matriz
for(l = 0; l < 5; l++){
for(c = 0; c < 10; c++){
mat[l][c] = rand() % 100;
}
}
// letra a) soma das linhas
for(l = 0; l < 5; l++){
soma = 0;
for(c = 0; c < 10; c++){
soma += mat[l][c];
}
somaLinhas[l] = soma;
}
// letra b) soma das colunas
for(c = 0; c < 10; c++){
soma = 0;
for(l = 0; l < 5; l++){
soma += mat[l][c];
}
somaColunas[c] = soma;
}
// impressão das estruturas
printf("\nMatriz:\n");
for(l = 0; l < 5; l++){
for(c = 0; c < 10; c++){
printf("%2d ", mat[l][c]);
}
printf("\n");
}
printf("\n\nVetor com a soma das linhas:\n");
for(l = 0; l < 5; l++){
printf("Linha %d: %d\n", l, somaLinhas[l]);
}
printf("\n\nVetor com a soma das colunas:\n");
for(c = 0; c < 10; c++){
printf("Coluna %d: %d\n", c, somaColunas[c]);
}
return 0;
}

Funcionas, mas não é necessária a utilização de uma variável auxiliar (soma), apenas inverta os índices da matriz:
– linha e coluna para somar as linhas
– coluna e linha para somar as colunas
//soma as linhas da matriz
for(int l = 0; l < 5; l++){ //repetição que percorre as linhas
for(int c = 0; c < 10; c++){ //repetição que percorre as colunas
somaLinhas[l] += mat[l][c];
}
}
//soma as colunas da matriz
for(int l = 0; l < 5; l++){ //repetição que percorre as linhas
for(int c = 0; c < 10; c++){ //repetição que percorre as colunas
somaColunas[l] += mat[c][l];
}
}