Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wFs

[Resolvido] Somando Linhas e Colunas de uma Matriz

Recommended Posts

Eu preciso saber como eu faço para somar apenas as linhas de uma matriz e depois apenas as colunas.

 

 

tipo uma matriz 5x5.

 

|2|4|5|5|4| = 20

|2|4|1|1|4| = 12

|2|2|5|5|2| = 16

|5|5|5|5|5| = 25

|2|4|5|5|4| = 20

 

Resultado da soma das colunas = 13|19|21|21|19

 

eu pensei no seguinte

 

for (i = 0; i < 5; i++) {			   somaL = somaL + mat[i][j];			 for (j = 0; j < 5; j++) {				  /*Aqui está o problema, seu tentar somar as colunas ele vai querer somar as linhas também*/			 }		  }

Compartilhar este post


Link para o post
Compartilhar em outros sites

int main(void) {	int mat[3][3], col[3] = {0,0,0}, lin[3] = {0,0,0};		for(int i = 0; i < 3; i++) {		for(int k = 0; k < 3; k++) {			scanf("%d",&mat[i][k]);		}	}		for(int i = 0; i < 3; i++) {		for(int k = 0; k < 3; k++) {			lin[i] = lin[i] + mat[i][k];			col[i] = col[i] + mat[k][i];		}	}

bom...isso jah soma cada linha... soma cada coluna...e guarda nos vetores lin[] e col[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh isso ae..

vamos postar o codigo pronto..

Teremos menos candidatos p concorrer no mercado de trabalho ... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Eu preciso saber como eu faço para somar apenas as linhas de uma matriz e depois apenas as colunas.

 

 

tipo uma matriz 5x5.

 

|2|4|5|5|4| = 20

|2|4|1|1|4| = 12

|2|2|5|5|2| = 16

|5|5|5|5|5| = 25

|2|4|5|5|4| = 20

 

Resultado da soma das colunas = 13|19|21|21|19

 

eu pensei no seguinte

 

1.  for (i = 0; i < 5; i++) {2.			   somaL = somaL + mat[i][j];3.			 for (j = 0; j < 5; j++) {4.				  /*Aqui está o problema, seu tentar somar as colunas ele vai querer somar as linhas também*/5.			 }6.		  }
amigo..

veja q o seu codigo naum vai funfar na linha 2..

porq a variavel j naum esta inicializada..

 

use um vetor como o Marcelo fez para armazenar as somas..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Marcelo pela ajuda.verdade ricci n irá funcionar na linha 2, agora q eu percebi. Valeu msm =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

e para somar apenas uma determinada linha + uma coluna da matriz ..

como implementar isso..

 

por exemplo .. numa matriz 6x6 .. somar a linha 3 com a coluna 2.. ??

Compartilhar este post


Link para o post
Compartilhar em outros sites
for(int i=0;i<COLUNAS;i++)
 soma+=M[3][i];

for(int j=0;j<LINHAS;j++)
 soma+=M[j][2];

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é... java.Isis era exatamente assim q eu tinha pensado msm.. só q ainda tem algo de errado nesse código...

 

CODE

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <math.h>

#include <string.h>

int main(void )

{

int M[7][6];

int x,y,somaL,somaC;

somaL=0;somaC = 0;

int soma;

// entrando com os dados da matriz 7x6 via parametro

{

printf("Digite ELEMENTO da:\n");

for(x=0;x<7;x++){

for(y=0;y<6;y++)

{

{

printf("linha %d, coluna %d da matriz: ",x+1,y+1);

scanf("%d",&M[x][y]);

}

}

}

//acumulando a soma da linha 5 e da coluna 3

for(x=0;x<7;x++)

{

somaL+= M[5][x];

for(y=0;y<6;y++){

somaC+= M[y][3];

}

}

}

 

soma=somaL+somaC;

 

// mostrando o resultado da soma da linha + coluna específica L5+C3

 

printf("\nRESULTADO :\n");

printf("\n Soma dos Elementos da linha 5 e da coluna 3 = %d\n" ,soma);

printf("\n\n");

system("pause");

}

 

agora nao sei se o erro esta na estrutura q soma separadamente a linha 5 e coluna 3 ou na que soma as duas.. (soma+=somaL+somaC) já tentei tirando o sinal de + tbm e nao funcionou (soma=somaL+somaC )

o que pode ser ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você qr somar a LINHA, deve travar o contador da matriz linha M[5][y], se for da coluna o inverso M[x][3], ta fazendo um for dentro do outro e trocando a posição das variáveis (x,y) da linha pela coluna, outra coisa, use uma constante para definir as linhas e colunas, fica mais facil de alterar o codigo depois. Indente esse código, pq desse jeito não sei como consegue intender algo "/

 

#include "stdio.h"
#include "stdlib.h"
#define L 7
#define C 6

int main(void)
{
	int M[L][C];
	int x,y,somaL,somaC;
	somaL = 0;somaC = 0;
	int soma;
	// entrando com os dados da matriz 7x6 via parametro
	printf("Digite ELEMENTO da:\n");
	for(x=0;x<L;x++)
	{
		for(y=0;y<C;y++)
		{
			printf("linha %d, coluna %d da matriz: ",x,y);
			scanf("%d",&M[x][y]);
		}
	}
	//acumulando a soma da linha 5 e da coluna 3
	for(x=0,y=0;x<L,y<C;x++,y++)
	{
		somaL = somaL + M[5][y];
		somaC = somaC + M[x][3];
	}
	soma = somaL + somaC;

	// mostrando o resultado da soma da linha + coluna específica L5+C3
	printf("\nRESULTADO :\n");
	printf("\n Soma dos Elementos da linha 5 e da coluna 3 = %d\n" ,soma);
	printf("\n\n");
	system("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure estabelecer um padrão teu ae, mas indente...se não é dificil intender os códigos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.