본문 바로가기
프로그래머의 길/C & C++

마방진 소스

by 제이콥케이 2007. 6. 28.
반응형

#include <stdio.h>
#include <stdlib.h>

int main()
{
 int input_size, i, j;
 int **size;
 int px, py;

 printf("마방진 사이즈를 입력 : ");
 scanf("%d", &input_size);

 size = (int **)calloc(input_size, sizeof(int *));

 for(i=0; i<input_size; i++)
  size[i] = (int *)calloc(input_size, sizeof(int));

 px=0;
 py=input_size/2;

 for(i=1; i<=input_size*input_size; i++)
 {
  size[px][py] = i;

  px=(input_size+px-1)%input_size;
  py=(input_size+py+1)%input_size;

  if(size[px][py] != 0)
  {
   px=(input_size+px+2)%input_size;
   py=(input_size+py-1)%input_size;
  }

 }
 
 for(i=0; i<input_size; i++)
 {
  for(j=0; j<input_size; j++)
  {
   printf("%5d  ", size[i][j]);
  }
  printf("\n");
 }
 
 return 0;
}


 

반응형

'프로그래머의 길 > C & C++' 카테고리의 다른 글

지뢰찾기  (0) 2007.06.28
라이프 게임  (0) 2007.06.28
오늘의 날짜를 리턴해 주는 함수 <time.h>  (0) 2007.04.12
디렉토리 관련 함수  (0) 2007.04.09
이진 트리로 구현한 문자열, 숫자 정렬 소스  (0) 2007.03.30