본문 바로가기
프로그래밍 _공부자료./C++ 공부

C++ 행렬 회전 하기.

by 대구부자 2019. 11. 24.
반응형

 




2차 행렬에 담긴 int 형 데이터를 회전시켜 보았다.


2차 행렬 회전시, 우선은 2차행열의 회전하고자 하는 방향의 좌표값으로 for문을 돌린후

원하는 데이터를 temp 라는 2차원 배열에 (0,0)의 좌표에 순차적으로 입력 하면 된다.

 

원리는 간단 하지만 2차 행열에 대해서 자유로워 지려면 , 우선, 2중 포문의 이해도가 확실해야 한다고 생각한다.

 

2중포문의 경우 예를들면, 0~3까지의 첫번째 포문(제일위쪽 포문으로 칭하겠다, 이해를 돕기해위),

 

두번째 포문 (0~3) 까지 (제일 안쪽 포문으로 칭하겠다 이해를 돕기 위해,)

 

제일 위쪽에 0 값이 for 문의 조건을 만족 하므로 안쪽 포문이 0~3번 까지 다돌고 난후 다시 위쪽 포문의 1값이 안쪽포

 

문으로 들어가서 0~3 까지 도는 방식이다.

 

또한 2차 배열의 경우  예를 들어 Temp[i][j]

 

i 값이 행

 

j 값이 열, 

 

여기서 2중포문의 첫번재 포문은 행, 2번째 포문은 열을 입력 하므로 , 

행열의 map[4-j][i] 바꿔야 한다.

 

 

 

2차 포문 위의 설명을 잘 참고 하며 코드를 해석 해 보길 바랍니다.

 

저같은 경우 행 값을 고정으로 두고 열값 만으로 회전을 시켰고 열값을 고정으로 두고 행값을 돌려도 가능하다.

 

기준점에 따라  코드가 조금 바뀌면 된다,

 

참고가 되었으면 좋겠습니다.

 

 

한마디로 요약 하자면 원하는 좌표 값을 읽어 템프배열에 순차적으로 집어 넣을수 있습니다.!


 

 

궁금하신점은 댓글로 남겨 주시면 아는한 최대한 댓글로 알려 드리겠습니다.

 

 

 

반응형

댓글