2013년 3월 21일 목요일

달팽이배열 알고리즘

달팽이배열



입력

3 

출력

    1    2    3
    8    9    4
    7    6    5

------------------------------------------
#include<stdio.h>
 void main()
 {
  int sna[100][100]={0};
  int x=0,y=-1,a=1,num=1,b,i,j,count=0;
  
  do
  {
   printf("크기를 입력하세요: ");
   scanf("%d", &b);
  } 
  while(b<=0 || b>100); //입력받은 b값이 0보다작거나 100보다크면 b를 재입력받는다  
  count = b;
  
  while(count!=0)
  {
   for(i=0;i<count;i++) 
   {
    y+=a;
    sna[x][y]=num++;
   }
  
   count--;
   for(i=0;i<count;i++) 
   {
    x+=a;
    sna[x][y]=num++;
   }
   a*=-1;
  }
  
  for(i=0;i<b;i++) 
  {
   for(j=0;j<b;j++) 
   {
    printf("%3d",sna[i][j]);
   }
   printf("\n");
  }
  
 }
  
 

댓글 없음:

댓글 쓰기