Como faço para criar um método recursivo de busca em uma matriz 10x10, onde a busca inicia de [0][0] e busca primeiramente para cima ou seja os próximo seriam [0][1], [0][2]… quando chegar em [0][9] anda para direita, exemplo: [1][9], [2][9] e depois desce.
Ou seja ele busca primeiramente para cima, depois para direita, depois para baixo e para esquerda. A ordem importa nesta busca.
(onde 00, 01, 02, etc. é a ordem em que você vai visitar os elementos da matriz. Eu perdi a paciência no elemento 60, mas acho que vocês entenderam o que ele provavelmente quer. É isso mesmo?
davidbuzatto
Pois é entanglement, eu até tinha pensado nisso, mas mesmo assim achei melhor perguntar.
É isso mesmo dradeoliveira?
[]´s
D
dradeoliveira
987654321x00123456789
O correto seria ele iniciar na posiçao [0][0] e subir para a [0][1], depois [0][2], quando chegar em [0][9] vira a direita, ou seja a ordem de prioridade é para cima, para a direita, para baixo e para a esquerda, sendo que ele marca as posições que andou.
Dieval_Guizelini
Esse problema é um dos clássico (risos)
Se o problema que você quer resolver é do tipo fillshape (tipo: achar a saída de um labirinto, percorrer todos os espaços interligados, procurar alguma coisa em uma sala etc), então a solução é:
considere a matriz com valores não percorridos (0) por exemplo e (1) para parede ou obstáculo, coloque a posição 0,0 em uma pilha e entre no laço:
enquanto o tamanho da pilha for maior do que 0 e tiver uma das quatro direções a ser visitada faça:
teste ir para cima (se possível), empilhe e reavalie o laço;
teste ir para direita (se possível), empilhe e reavalie o laço;
teste ir para baixo (se possível), empilhe e reavalie o laço;
teste ir para esquerda (se possível), empilhe e reavalie o laço;
caso contrário desempilhe
Certo?
D
dradeoliveira
Dieval,
é isso mesmo que eu preciso, só não sei como fazer.