Ir ao conteúdo

Posts recomendados

Postado

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
Postado

@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
Postado

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

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!