내 과제에 어려움을 겪고 있으며 도움이 필요합니다.C - 2 차원 배열 바깥 쪽 (중심에서 시작) 및 시계 방향으로 나선형 방향 이동
2 차원 배열 A [N] [N] (여기서 N은 자연수로 1에서 N^2까지 채우지 만 트래버스 알고리즘은 내가 고민하는 것입니다.)에서 N (A [N/2] [N/2])에서 시작하여 나선형으로 그리고 시계 방향으로 움직이는 홀수 (1,3,5,7 ...)입니다.
예 (N = 5) :
25 10 11 12 13
24 9 2 3 14
23 8 1 4 15
22 7 6 5 16
21 20 19 18 17
I 패턴 참조 : 센터 = 1; 1xUP, 1xRIGHT, 2xDOWN, 2xLEFT, 3xUP, 3xRIGHT 등 ...
어떻게이 알고리즘을 루프로 구현할 수 있습니까? 시간이 갈수록 여기에 붙어 있습니다 ...
몇 가지 제안 사항을 읽고 도움을 드리겠습니다.
감사합니다.
그래,이 코드를 보았지만 중심에서 시작하여 수직으로 올라간 다음 나선형 및 시계 방향으로 계속 코드를 편집해야합니까? 그것은 투쟁입니다. 편집 : 색인 [0] [0] (행렬의 시작 부분)부터 시작하여 나선형 및 시계 방향 순회를위한 코드도 있습니다. 나는 현재 그것을 연구 중이므로 내부에서 빠져 나간다. 나는이 코드를 여기에 붙여 넣을 수 있으며, 가능하다면 : 팁을 다시 작성하는 방법을 알려주세요. – Waterfalse
당신은 또한 이것을 위해 사각형 커널을 사용할 수 있습니다 (원형 'cos, sin' 대신). [2D 3 x 3 격자의 회전 대각선 - 회전 행렬 필요?] (http://stackoverflow.com/a/40355825/) 2521214) 그래서 매트릭스 중심에서 바깥 가장자리까지 사각형을 반복하십시오 ... 동심원 렌더링과 비슷합니다. – Spektre