Programación General > C++ Builder

 Recorrer Matriz En Espiral

(1/1)

rmbstyle:
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:
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.

Navegación

[0] Índice de Mensajes

Ir a la versión completa