int arr[4][4] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } };
void Inside(int(*arr)[4])//내부의 배열을 시계방향으로 회전시키는 함수
{
int change[4] = { arr[1][1], arr[1][2], arr[2][1], arr[2][2] }; //내부의 정사각형의 좌표 6,7,10,11
arr[1][1] = change[3];
arr[1][2] = change[0];
arr[2][1] = change[1];
arr[2][2] = change[2];
}
void Outside(int(*arr)[4])
{
int arrpoint[4] = { arr[0][0], arr[0][3], arr[3][0], arr[3][3] }; //정사각형의 꼭지점의 좌표를 저장
int arr1[2] = { arr[0][1], arr[0][2] }; //2와 3
int arr2[2] = { arr[1][3], arr[2][3] }; //8과 12
int arr3[2] = { arr[3][1], arr[3][2] }; //14와 15
int arr4[2] = { arr[1][0], arr[2][0] }; //5와 9
arr[0][0] = arrpoint[2];
arr[0][3] = arrpoint[0];
arr[3][0] = arrpoint[3];
arr[3][3] = arrpoint[1];
}
위에처럼 2차원 배열arr을 함수 외부에 선언했는데
2차원배열에 1차원배열 값을 저장못하나요?
2차원 arr에서 원소 몇개를 1차원 배열의 값으로 변경하려고 만든 함수인데 실행하면 오류가 뜨네요.
뭐가 문제인지 알려주시면 정말 감사하겠습니다!
초기화 할 때 int arr1[2] = { arr[0][1], arr[0][2] }; 이렇게 되는거야? 처음봤는데 해봐야겠다.
아마 상수로만 초기화되는건가... 싶은데?
으 어디가 에러일까 디버깅하면 바로 나오겠지만 풀고 시팓
질문자님 아까 지식인에 제가 답변드렸는데...