Ir ao conteúdo
  • Cadastre-se
Daniel Lelis

C++ Possua uma matriz de 3X8 que some cada uma das linha, guardando o resultado soma

Posts recomendados

Boa tarde, estou me aprofundando um pouco mais em C++, estou com um exercio que fiquei na dúvida onde possua uma matriz de 3x8 e some cada uma das linhas da matriz, guardando o resultado de soma em um vetor somalinha, e a seguir apresente os valores da matriz e do vetor

 

#include <stdio.h>
#include <string.h>

int main() {
    int linhas , colunas;
    printf("\nDigite o numero de linhas da matriz: ");
    scanf("%d", &linhas);
    printf("\nDigite o numero de colunas da matriz: ");
    scanf("%d", &colunas);
    float matriz[linhas][colunas];
    float soma = 0;
    float soma1 = 0;
    float somaCo = 0;
    float somaLinhas[linhas];
    float somaColunas[colunas];
    float somaAb= 0; 
    memset(somaLinhas, 0, sizeof(somaLinhas));
    for (int linha = 0; linha < linhas; linha++) {
        for (int coluna = 0; coluna < colunas; coluna++) {
            printf("\nDigite o %d valor para a %d linha: ", coluna + 1, linha + 1);
            scanf("%f", &matriz[linha][coluna]);
            soma += matriz[linha][coluna];
            somaLinhas[linha] += matriz[linha][coluna];
        }
    }
    printf("\n");
    for (int linha = 0; linha < linhas; linha++) {
        for (int coluna = 0; coluna < colunas; coluna++) printf("%5.2f ",matriz[linha][coluna]);
        printf("\n");
    }
    for (int linha = 0; linha < linhas; linha++) printf("\nA soma da linha %d e %5.2f", linha, somaLinhas[linha]);
    printf("\nA soma total e  %5.2f", soma);
}
printf("\n");
    for (int coluna = 0; coluna < colunas; coluna++) {
        for (int coluna = 0; linha < linhas; linha++) printf("%5.2f ",matriz[linha][coluna]);
        printf("\n");
    }
    for (int coluna = 0; coluna < colunas; coluna++) printf("\nA soma da coluna %d e %5.2f", coluna, somaColunas[coluna]);
    printf("\nA soma total e  %5.2f", soma1);

Após a soma das linhas não consigo que leia a coluna

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Daniel Lelis    no enunciado não diz nada sobre cálculos das colunas ,  só diz para no final escrever os valores da matriz e do vetor , então os valores da matriz são os números que estão em cada posição dela , e do vetor são os valores referentes a soma de cada linha da matriz e que foram armazenados nele ,  então creio que seu código poderia ser assim  :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main(                                            ){
    srand( time ( 0 )                                );
    int linhas=3 , colunas=8,linha,coluna             ;
    float somaLinhas[3]={    0                       };
    float matriz[linhas][colunas                     ];
    float soma = 0                                    ;
    for(linha=0; linha<linhas; linha++               ){
        for( coluna=0; coluna<colunas; coluna++      ){
            matriz[linha][coluna] = rand() % 100 + 1  ;
            soma += matriz[linha][coluna             ];
            somaLinhas[linha] += matriz[linha][coluna];
        }
    }
    printf("\nOs Numeros Na Matriz\n\n"              );
    for( linha=0; linha<linhas; linha++              ){
        for( coluna=0; coluna<colunas; coluna++       )
            printf("%5.2f ",matriz[linha][coluna]    );
        printf("\n"                                  );
    }
    for( linha=0; linha<linhas; linha++              ){
        printf("\nA soma da linha %d e %5.2f"         ,
                   linha, somaLinhas[linha]          );
    }
    printf("\n\n\n"                                  );
    return 0                                          ;
}

 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010  realmente, ela não diz pra somar as coluna, o código que mandei também esta certo so apagando as ultimas 4 linhas do final, e o teu ficou ótimo também com os número em randon. 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

provavelmente em C++ você não usaria scanf() printf() memset() e escreveria algo bem mais simples:

uma classe Matriz com um método tipo float SomaColunas() e quem sabe um float SomaLinhas()

 

Ou mesmo uma classe genérica que opera com matrizes de qualqeur tipo e de qualquer tamanho. C++ foi escrita com essa intenção.

 

Usaria algo assim

Matriz uma(5,8);
Matriz outra(3,5);

...
  
float s = outra.somaColuna(1);
float uma = somaLinha(0);

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!