IT story/Algorism

배열9 달팽이 만들기

jason719 2016. 9. 4. 18:06

2016. 09 .04. Sun. 정보처리산업기사 실기 알고리즘

배열 9 달팽이 만들기




알고리즘에서는 규칙을 찾는 것이 첫 번째로 이루어져야 한다. 


규칙

1회전: (1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7) ← 행 고정, 열 증가 - 7번 수행 (증가)

2회전: (2,7) (3,7(4,7(5,7(6,7) (7,7← 행 증가, 열 고정 - 6번 수행 (증가)

3회전: (7,6) (7,5) (7,4) (7,3) (7,2) (7,1) ← 행 증가, 열 감소 - 6번 수행 (감소)

4회전: (6,1) (5,1(4,1(3,1(2,1← 행 감소, 열 고정 - 5번 수행 (감소)

.

.

.


위의 규칙을 아래의 예제로 입력한다.

package example;


class ArrayExam{

int n = 7;

int row,col;

public void snail(){

int array[][] = new int [n][n];

System.out.println("\n배열9 달팽이 만들기");

int f = n//수행횟수

int c = 1//증가와 감소를 구분할 변수

int num = 1//1부터 n까지 입력될 변수

int i=0//행의 위치 변수

int J=-1//열의 위치 변수

do{

for(int N=0; N<f; N++){

J=J+c;

array[i][J] = num; num++;  

}

f=f-1//수행 횟수 감소

if(f>0){ //수행 횟수 판별

for(int N=0; N<f; N++){ 

i=i+c;  

 array[i][J] = num; num++;

}

c = c*-1//증가와 감소를 스위치

}else//수행 횟수가 0이되면 알고리즘 종료

break;

}

}while(true);

for(int row=0; row<n; row++){

for(int col=0; col<n; col++){

System.out.printf("%3d",array[row][col]);

}

System.out.println();

}

}

}//class

public class AlgorismArray {

public static void main(String[] args) {

ArrayExam e = new ArrayExam();

e.snail();

}//main

}//class



'IT story > Algorism' 카테고리의 다른 글

배열11 마방진(magic square)  (0) 2016.09.04
배열10 대각선으로 채우기  (0) 2016.09.04
배열8 90도 회전하기  (0) 2016.09.04
배열7 이등변 삼각형 만들기  (0) 2016.09.04
배열6 오른쪽에 빈 삼각형 만들기  (0) 2016.09.04