Ir ao conteúdo
  • Cadastre-se
Lara Figueiredo

C++ Matrizes: soma de colunas

Recommended Posts

Olá, eu preciso fazer um programa em que permita o usuário escolher os valores de uma matriz [5][5] e por fim o algoritmo deve realizar a soma da primeira coluna da matriz. Alguém pode me ajudar? Até agora tá assim, porém está dando erro 

#include<stdio.h>
#include<conio.h>
int main ()
{
  int matriz[5][5],i, j, somac;
  

  printf ("\nDigite valor para as notas da matriz\n\n");

  for ( i=0; i<5; i++ ){
  
    for ( j=0; j<5; j++ ){
    
    
       printf ("\n Nota[%d][%d] = ", i, j);
       scanf ("%d", &matriz[ i ][ j ]);
    }
}

   printf("\n\n******************* Saida de Dados ********************* \n\n");

   for ( i=0; i<5; i++ )
    for ( j=0; j<5; j++ )
    {
       printf ("\nElemento[%d][%d] = %d", i, j,matriz[ i ][ j ]);
    }
    
    for(i=0;i<5;i++){
        for(j=0;j<5;j++){
            if(i == 0){
                somac=somac+matriz[5]5];
            }
        }
    }                 
    
    
    printf("\n------------------Saída---------------------\n");
    printf("\n\nSoma da primeira coluna = %d\n\n", somac); 


  return(0);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Lara Figueiredo Olá!

Está dando erro, que erro ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está somando somente a posição da linha 5 coluna 5:

for(i=0; i < 5 ; i++){
  for(j=0;j<5;j++){ 
    if(i == 0){
      somac=somac+matriz[5]5]; 
    } 
  } 
}

Você deve usar os contadores como linha e coluna, pois eles são incrementados com o laço.

for(i=0; i < 5 ; i++){
  for(j=0;j < 5;j++){ 
    if(i == 0){
      somac = somac + matriz[i][j]; 
    } 
  } 
}

. Também é necessário que inicialize a variável SOMAC com 0,  por definição, todas as variáveis da função main são inicializadas com LIXO, ou seja, valores que não te interessam no desenvolvimento do programa. Mais algumas observações:

  • o i dentro do IF, foi trocado para J, pois o que te interessa é a soma das primeiras posições... I só será 0 uma vez.
  • Você pode inserir #define TF 5, logo abaixo do seus #includes, antes da int main. Dessa forma, você está declarando uma constante TF de valor 5, que não será alterada durante o programa.
  • A expressão somac = somac + matriz[j], pode ser simplificada para: somac += matriz[[j];

 

Portanto, o código correto fica:

somac = 0;
for(i=0;i<TF;i++){
  for(j=0;j<TF;j++){
    if(j == 0){
      somac=somac+matriz[i][j];
    }
  }
}    

 

  • Curtir 1

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 publicações 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

×