2차원배열의 포인터랑 함수 질문이요
솔빛길
질문 제목 : 밑의코딩이 포인터와 함수를 이용한 코딩으로 변경된것으로 보고싶어요. 도와주세요질문 요약 :질문을 요약하자면 밑의 코딩을 변경해서 포인터와 함수를 이용해서 arr에 접근해서 문자열을 변경하고 싶은건데요 도와주세요;질문 내용 : 열혈강의C라는 책에 있는 [4][4]2차원배열인데 {1,2,3,4}{5,6,7,8}....{13,14,15,16}이런식으로있는 배열인데 이 문자열을 90도를 회전시킵니다 그 퍼즐하는거 큐브를 한번 돌리는거같이요 일단 글로 설명하면 좀 힘드니까코딩한것을 올려드리겠습니다 한번 실행해봐주시면 감사하겠습니다. 밑에 처럼 만들어봤는데 이문제를 포인터를 이용해서 arr이라는 배열에 간접적으로 접근해서 arr의 주소값을 가리키는 포인터값을 변경해서 프로그램을 짜보려고했지만 잘안되네요... 물론 그 부분은 함수를 통해서요.
=======================================================
#include stdio.h
int main(void)
{
int arr[4][4]={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}};
int ptr[4][4];
int i, j, n;
for(i=0; i4; i++)
{
for(j=0; j4; j++)
printf(%d , arr[i][j]);
printf(\n);
}
printf(\n);
for(n=0; n3; n++)
{
for(i=0; i4; i++)
{
for(j=0; j4; j++)
ptr[j][3-i]=arr[i][j];
}
for(i=0; i4; i++)
{
for(j=0; j4; j++)
{
arr[i][j]=ptr[i][j];
printf(%d , arr[i][j]);
}
printf(\n);
}
printf(\n\n);
}
return 0;
}
================================================
-
한누리
그냥 순수한 90회전이라면 x와 y를 바꿔주면 되겠네요.그러면 시계 반대방향으로 90도 회전