Ir para conteúdo

POWERED BY:

Arquivado

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

gRoOvE

[Resolvido] matriz

Recommended Posts

não consigo implementar a lógica para achar a diagonal secundária =/

#include "stdafx.h"
#define L 3
#define C 3

int main(void)
{
	int M[L][C];
	int x,y,somaL,somaC,diagP,diagS;
	somaL = 0;
	somaC = 0;
	diagP = 0;
	diagS = 0;

	for(x=0;x<L;x++)
	{
		for(y=0;y<C;y++)
		{
			printf("Digite um numero para M[%d][%d]: ",x,y);
			scanf("%d",&M[x][y]);
		}
	}
	for(x=0;x<L;x++)
	{
		for(y=0;y<C;y++)
		{
			printf("\nmatriz: M[%d][%d] = %d",x,y,M[x][y]);
		}
	}

	for(y=0,x=0;y<L,x<C;y++,x++)
	{
		somaL = somaL + M[0][y];
		somaC = somaC + M[x][1];
	}
	printf("\n\nSoma da linha 0: %d",somaL);
	printf("\nSoma da coluna 1: %d\n",somaC);

	for(x=0;x<L;x++)
	{
		for(y=0;y<C;y++)
		{
			if(x == y)
			{
				diagP = diagP + M[x][y];
			}
			else if(x + 1 == 3 - (y + 1) + 1)
			{
				printf("\n%d",x);
				diagS = diagS + M[x][y];
				printf("\n%d",diagS);
			}
		}

	}
	printf("\nSoma da Diagonal principal: %d\n",diagP);
	printf("\nSoma da Diagonal secundaria: %d\n",diagS);
	
	/*for(x=0,y=0;x<L,y<C;x++,y++)
	{
		if(M[x] == C - y + 1)
		{
			diagS = diagS + M[x][y];
		}
	}
	printf("\nSoma da Diagonal secundaria: %d\n",diagS);
	*/
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu amigo achar diagonal secundaria é muito simples

for(i=0,j=n-1;i<n,j>=0;i++,j--)
	 printf("%d",mat[i][j]);

Espero que ajude. Qualquer duvida poste ai!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahh legal, deu certo :D

 

mas veja como eu estava tentando fazer, peguei a lógica de um livro, dizia assim:

 

linha = totalcolunas - coluna + 1

 

fiz teste de mesa e funcionou dessa outra forma, mas soh se comecar a contar do 1...mas como matriz começa a contar do 0, tentei equilibrar os valores mas não teve como.

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.