마방진에 대한 질문입니다.
스킬
학교 수업 중 마방진을 만들어라는 수업이 있어서 이렇게 글을 올립니다.
일단 교수님께서 3줄짜리 마방진의 결과 값만 보여주셔서 그 결과 값만 그대로 출력하게 했습니다.
소스는 아래에 있습니다.
#includestdio.h
main() {
int a[3][3]={0};
int i=0, j=1, k;
for(k=1;k=9;k++) {
if(k==1) {
a[i][j]=k;
} else {
if(k%3==0){
i-=1;
if(i0){
i=2;
}
a[i][j]=k;
} else {
i-=1;
j+=1;
if (i0) i=2;
if (j2) j=0;
a[i][j]=k;
}
}
}
for(i=0;i3;i++){
for(j=0;j3;j++){
printf(%3d, a[i][j]);
}
printf(\n);
}
printf(\n);
return 0;
}
이렇게 짜놓고 다른 분들이 짜놓은 프로그램을 받아서 구동해보니 제 프로그램이 먼가 좀 잘 못 된듯한 느낌이 들어서요,,,;
라인수를 입력 받아서 마방진을 출력하는 프로그램들을 보니 포인터, 함수,,, 제가 아직 배우지 않은 곳에서 프로그래밍을 하셨더라구욤..ㅠㅠ;
아직 함수 건너뛰고 배열 먼저 배우고 있는 중이라,,,
라인수 입력 받아서 하는 프로그램을 보니 -0-;
마방진을 이해를 못해서 그런지,, 마방진에 대한 설명과 제가 프로그래밍 한곳에서 잘못된 점을 지적해주셨으면 합니다.
제껀 시작 점을 지정해줘서 시작했는데,, 다른 분들껀 라인 수에 따라 전부 바뀌는 듯해서,,, 이렇게 글을 올렸습니다.
자세한 설명 부탁 드리겠습니다... 아직 초보라 열공 중이라...^0^;