:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/11/09 02:01
지적해드리자면, 배열에 숫자를 넣어서 선언하기 보다는 #define SIZE 4 이런씩으로 해주고
int arr[SIZE][SIZE] 이런 식으로 처리하는게 좋습니다. 후에 프로그램 4*4 뿐만 아니라 3*3 5*5 변환도 쉽게 되고요 처음 대입할때 = 1,2,3,4,5,6,7,8,9... 이런씩보다는
이중 for문 돌려서 arr[i][j] = i*SIZE + j+1; 이런씩으로 깔끔하게 대입하는게 좋겠죠 for(i=0;i<4;i++){ arr[i][3]=arr1[0][i]; arr[i][2]=arr1[1][i]; arr[i][1]=arr1[2][i]; arr[i][0]=arr1[3][i]; 이 구문도 이중 포문 쓰시면 arr[i][SIZE-j-1] = arr[j][i]; 머 이런씩으로 훨씩 깔끔하게 처리 가능합니다. 그외에는 굳이 눈에 띄는 부분은 없네요.
09/11/09 03:11
동일한 코드가 2번 사용되었네요.
printMatrix()와 같은 별도의 함수로 빼주시는 것도 좋지 않을까 싶네요. for(i=0;i<4;i++) for(j=0;j<4;j++) printf("%3d",arr[i][j]); printf("\n");
09/11/09 09:54
로직은 안봐서 모르겠지만...... 두번째 for 가 왜 들어간는지 모르겠네요.
for(n=0;n<3;n++) ... 요게...
그리고 요 코드는 for(i=0;i<4;i++){ for(j=0;j<4;j++) arr1[i][j]=arr[i][j]; 아마 arr1 을 임시로 사용하기 위해서 일듯 한데.... 현실적으로 arr = 회전 (arr) 보다는 arr1 = 회전(arr) 이렇게 사용하는 것이 좋을 듯 합니다. 따라서 저 부분은 없어져도 될듯. 그렇게 되면 변환 루프가 반대가 되겠죠. 몇가지 최적화 방법이 떠오르나.... 뭐.... 그건 차차 공부하시면 될듯...
|