• Sábado 14 de Diciembre de 2024, 19:45

Autor Tema:  Recorrer Matriz En Espiral  (Leído 5566 veces)

rmbstyle

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Recorrer Matriz En Espiral
« en: Martes 16 de Enero de 2007, 18:05 »
0
Buenas,

He buscado por el foro pero no he encontrado exactamente lo que queria. Mi problema es que no se como ir recorriendo una matriz desde afuera hacia dentro (empezando en el M[0][0]) en el sentido de las agujas del reloj.
La cosa es que no se me ocurre nada, el recorrido deberia ser asi:

1 3 4  
5 2 7
9 8 6    

Entonces, tengo que obtener un vector con la espiral: (1,3,4,7,6,8,9,5,2).

Alguien me echa una mano?

Gracias!

Saludos

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Recorrer Matriz En Espiral
« Respuesta #1 en: Martes 16 de Enero de 2007, 19:11 »
0
podrias fijarte cuatro limites: LimDer = Cantidad de columnas, LimInf = Cantidad de filas, LimIzq = 1, LimSup = 2

Recorre con un FOR desde [1,1] hasta LimDer
           Dejpuej decrementa en 1 LimDer
Recorre con un FOR desde donde te quedaste hasta LimInf
           Dejpuej decrementa en 1 LimInf
Recorre con un FOR desde donde te quedaste hasta LimIzq
           Dejpuej Incrementa en 1 LimIzq
Recorre con un FOR desde donde te quedaste hasta LimSup
           Dejpuej Incrementa en 1 LimSup

Con eso se recorreria la primer vuelta, pero quedaria listo para la segunda vuelta.
Es la logica de tu problema.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"