aula 119

Exercício 9 | Somar linhas e colunas de uma matriz e salvar em vetores

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;
}

Este post tem um comentário

  1. Daniela

    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];
    }
    }

Deixe um comentário

quatro × quatro =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.