Ir para conteúdo
Fórum Script Brasil
  • 0

Matriz 5x4 soma coluna e mostra a soma na ultima linha


Pajé

Pergunta

Boa noite pessoal,

Preciso da ajuda de vocês.

Estou fazendo um exercicio, porem não consigo fazer sair a soma na ultima linha. Na minha logica fiz um for de 4x4 para liberar a ultima posicao, mas não consigo armazenar na ultima linha a soma.

Vejam o exercicio e o que fiz:

Obs: Fiz a matriz modificada apenas para teste...pois ela não pode constar e tem q ser a soma na ultima linha..

Ainda não aprendi em aula isto, então estou procurando mas sem exito.

Por favor, me ajudem.

Obrigado.

//Crie uma matriz 5x4. Leia 16 elementos que devem ser armazenados nas 4 primeiras linhas da matriz. A
//última linha deve armazenar a soma de cada uma das colunas, conforme exemplo abaixo.
//6 4 1 2
//1 2 4 7
//2 6 3 8
//5 9 1 1
//14 21 9 18

#include <conio.h>
#include <stdio.h>

void main() {

   int matriz[5][4],l,c;
   int soma1=0,soma2=0,soma3=0,soma4=0;

   clrscr();
   gotoxy(10,5);
   printf ("Digite os elementos:");
   for (l=0;l<4;l++) {
      for (c=0;c<4;c++) {
          gotoxy (c*3+10,l*2+7);
          scanf ("%i",&matriz[l][c]);

               soma1=soma1+matriz[l][0];
               soma2=soma2+matriz[l][1];
               soma3=soma3+matriz[l][2];
               soma4=soma4+matriz[l][3];
      }
         }
      matriz[4][0]=soma1;
      matriz[4][1]=soma2;
      matriz[4][2]=soma3;
      matriz[4][3]=soma4;

   gotoxy(35,5);
    printf ("Matriz modificada");
    for (l=0;l<4;l++) {
       for (c=0;c<4;c++) {
          gotoxy(c*3+35,l*2+7);
          printf ("%i",matriz[l][c]);
                }
    }
   getch();

   }

Editado por Jonathan Queiroz
Adicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Faz uma coisa de cada vez. Primeiro leia a matriz depois faça a soma com esse for:

for(c=0; c<4; c++)
{
    for(l=0; l<4; l++)
    {
          matriz[4][c]+=matriz[l][c];
    } 
}

Agora no for para mostrar a matriz você tem que botar a condição de parada como l < 5 senão não mostra a linha 5.

Vê se dá certo ai abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Entendi.

Muito obrigado pela ajuda.

Eu estava fazendo tudo junto e não usando a logica de primeiro ler, depois calcular e apos escrever.

Muito Obrigado.

Ficou assim

#include <conio.h>
#include <stdio.h>

void main() {

    int matriz[5][4],l,c;
  
   clrscr();
   gotoxy(10,5);
   printf ("Digite os elementos:");
   for (l=0;l<4;l++) {
      for (c=0;c<4;c++) {
          gotoxy (c*3+10,l*2+7);
          scanf ("%i",&matriz[l][c]);

        }
   }
   for(c=0; c<4; c++){
    matriz[4][c]=0;
    for(l=0; l<4; l++){
          matriz[4][c]+=matriz[l][c];
    }
}

   gotoxy(35,5);
    printf ("Matriz modificada");
    for (l=0;l<5;l++) {
       for (c=0;c<4;c++) {
          gotoxy(c*3+35,l*2+7);
          printf ("%i",matriz[l][c]);
      }
    }
    getch();

   }

Editado por Jonathan Queiroz
Adicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...