progArt
-
Posts
29 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por progArt
-
-
Ola a todos,
Estou com um problema bem chato. Uma vez implementei um programa que dado um grafo qualquer e um ponto inicial e final, ele nos mostra o caminho que deve ser percorrido para se chegar do ponto inicial ao ponto final. Fiz o programa utilizando busca em largura e busca em profundidade.
Porém o programa que fiz foi em C#, e utilizando listas para representar o grafo. Agora entra o grande problema.
Estou tentando codificar em C só que utilizando a representação do grafo em Matrizes, da seguinte forma: dado uma quantidade de nós que o grafo irá ter, criamos uma matriz com a dimensão quadrada, onde o tamanho é o nó. Ou seja, num grafo com 2 nós, temos uma matriz 2x2.
Olhem a matriz abaixo para entenderem:
0 1
1 0
Cada linha representa um nó, e cada coluna também representa um nó. Quando se tem 0 significa que não tem conexão; quando se tem 1 significa que se tem conexão. Ou seja, no nossso exemplo, o nó 0 não tem conexão com o nó zero, mas tem conexão com o nó 1. O nó 1 tem conexão com o nó 0 mas não tem conexão com o nó 1.
Este problema ja esta resolvido, só não consegui pensar em uma lógica para achar o caminho entre um ponto a para o ponto b.
Alguém tem alguma ideia? Não estou pedindo código pronto, já seria pedir demais, só estou pendindo sugestões de implementanção.
Abraços,
progArt.
-
Ola a todos,
Retornando a este tópico vi o código de uma possível solução.
Só que pelo que pude ver, o exercicio pede que as manipulações dos valores sejam feitas somente com a matriz, sem o auxilio de vetores auxiliares. Acho que o objetivo do exercicio seria fazer com que o aluno aprenda a manipular indices de matriz, desta forma economizaria até em código.
Se tiver tempo durante esta semana posto uma possível solução usando somente matriz e seus indices. Mas de qualquer forma parabéns pelo código.
Abraços,
progArt.
-
Suk,
Seria legal você colocar o que ja foi feito para mais pessoas ajudar.
O exercicio é bem básico, e visa tratar matrizes. Primeiro você tem que criar uma matriz com a dimensão que você especificou, depois criar dois for que percorra a matriz (dois for por ser matriz bidimensional), porém, com indices no for que não ultrapassem da quarta linha, porque na última linha será feito a soma dos valores presentes na coluna em questão.
Tente fazer pelo menos um protótipo para podermos ajudar você.
Abraços,
progArt.
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
Busca em Largura em grafo representado com Matriz
em C/C#/C++
Postado
Lunik,
É exatamente o que você falou que não quero usar...
Eu quero resolver este problema da forma mais primitiva possível, ou seja, trabalhando somente com os indices da matriz e vetores auxiliares ou até mesmo matrizes auxiliares. Não quero usar nenhum tipo de estrutura dinâmica, pois desta forma eu ja fiz.
As vezes acho que nem é possível fazer uma solução da forma que penso, mas desafios sempre é bom (eu gosto).
valeu pela ajuda. Se eu conseguir resolver eu retorno com a resposta no forum.
Estou aberto ainda para novas sugestões.
Abraços,
progArt.