반응형

<C언어로 달팽이 배열 만들기>
사용자로부터 하나의 숫자 n을 입력받아서 n*n의 달팽이 배열을 출력해 주는 프로그램을 작성해보자.
아래 알고리즘을 작성해두었습니다..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
#include <stdio.h>
int main()
{
   int e=0;
   int n=0;
   int i=1;
   int j=0;
   int p=0;
   int s=1;
   int arr[20][20]={0};
 
   int a=0//입력받은 숫자
   printf("숫자입력:");
   scanf("%d",&a);
    e=a;
   while(a>0)
   {
      for (p=1;p<=a;p++)
      {
         n=n+1;
         j=j+s;
         arr[i][j]=n;
      }
      a=a-1;
 
      if(a>0)
      {
         for(p=1;p<=a;p++)
         {
            n=n+1;
            i=i+s;
            arr[i][j]=n;
         }
      }
      s=s*(-1);
 
   }
 
 
   
         for(i=1; i<=e; i++)
         {
            for(j=1; j<=e; j++)
            {
               printf("%d",arr[i][j]);
            }
            printf("\n");
         }
              
      
}
 
 
cs

1회전 : (1,1) (1,2) (1,3) (1,4) (1,5)
2회전 : (2.5) (3.5) (4.5) (5.5)
3회전 : (5.4) (5.3) (5.2) (5.1)
4회전 : (4.1) (3.1) (2.1)
5회전 : (2.2) (2.3) (2.4)
6회전 : (3.4) (4.4)
7회전 : (4.3) (4.2)
8회전 : (3.2)
9회전 : (3.3)

(아래사진은 달팽이 알고리즘 입니다.(5.5)크기의 달팽이 알고리즘)


<실행결과>





반응형

+ Recent posts