포인터로 2차원 배열 값을 바꾸는법?
하늘이
#includestdio.hvoid turn(int (*pa)[4],int (*pm)[4]);int main(void){
int arr[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int marr[4][4];
int i,a,b;
for(a=0;a4;a++){
for(b=0;b4;b++){
printf(%d ,arr[a][b]); //첫번째 원본
}
printf(\n);
}
printf(--------90도회전--------\n);
for(i=0;i3;i++){
turn(arr,marr);
} return 0;
}void turn(int (*pa)[4],int (*pm)[4]){
int a,b; for(a=0;a4;a++){
for(b=0;b4;b++){
if(a==0)
pm[b][3]=pa[0][b];
else if(a==1)
pm[b][2]=pa[1][b]; //90도 회전중
else if(a==2)
pm[b][1]=pa[2][b];
else
pm[b][0]=pa[3][b];
}
} for(a=0;a4;a++){
for(b=0;b4;b++){
printf(%d ,pm[a][b]); //회전 출력
}
printf(\n);
}
printf(--------90도회전--------\n);
}
1 2 3 4
5 6 7 8 이모양에서 90도로 바꾸는 방법인데 첫번째랑 두번째까진 되는데 3,4번째도 2번째랑 똑같네요..
9 10 11 12 즉, 한번만 바뀌고 끝납니다..1,2,2,2이렇게
13 14 15 16
어디에서 틀린건지 잘모르겟어요ㅠㅠ
arr가 처음 초기화한 배열이고 marr는 0으로 초기화되서 arr의 90도로바꾼값을 marr에 저장해서 marr를 출력하고
다시 arr을 돌리고 marr에 저장하고 marr을 출력하고 이런식인데
그런방식으로 짠건데..물론 본래초기화한 arr은 trun 함수에서 90도로 바뀐상태여야되고요..
-
미쿡
방법을 찾았습니다..
turn 함수 제일 밑에
for(a=0;a4;a++){
for(b=0;b4;b++){
pa[a][b]=pm[a][b];
}
}
를 하여서 임시 배열에 저장된값을 다시 arr에 초기화 해줬어야됫나보네요..
marr만 포인터로 값을 바꿔놓고 왜 arr의 값이 안바꼇는지 고민햇네요 2시간동안ㅠㅠ
감사드립니다~
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692451 | 이 문제좀 풀어주세요 ^^ | 게자리 | 2025-04-23 |
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |