package javalesson.com.javalesson.ch01test;
public class T03Diamond {
public static void main(String[] main){
int array[][] = new int[5][5];
int row,col;
int cnt;
row=0;col=(5/2); //마방진을 시작할 위치 지정
for(cnt=1;cnt<=25;cnt++){
array[row][col]=cnt;
if(cnt%5==0){
row++;
if(row==5)row=0;
}else{
row--;col++;
if(row==-1)row=4;
if(col==5)col=0;
}
}
//출력
for(row=0;row<=4;row++){
for(col=0;col<=4;col++){
System.out.printf("%3d",array[row][col]);
}
System.out.println();
}
}
}
package javalesson.com.javalesson.ch01test;
public class T03Diamond {
public static void main(String[] main){
Scanner scan = new Scanner(System.in);
int deg;
while(true){
try{
System.out.print("마방진의 차수를 입력하세요. : ");
deg = scan.nextInt();
if(deg%2==1)break;
System.out.println("홀수만 입력해야 합니다.");
}catch(InputMismatchException e){
System.out.println("숫자만 입력해야 합니다.");
}
}
scan.close();
int array[][] = new int[deg][deg];
int row,col;
int cnt;
row=0;col=(deg/2); //마방진을 시작할 위치 지정
for(cnt=1;cnt<=deg*deg;cnt++){
array[row][col]=cnt;
if(cnt%deg==0){
row++;
if(row==deg)row=0;
}else{
row--;col++;
if(row==-1)row=deg-1;
if(col==deg)col=0;
}
}
//출력
for(row=0;row<=deg-1;row++){
for(col=0;col<=deg-1;col++){
System.out.printf("%3d",array[row][col]);
}
System.out.println();
}
}
}
'JAVA > 알고리즘 예제' 카테고리의 다른 글
[JAVA] 버블 정렬(Bubble Sort) (1) | 2016.08.31 |
---|---|
[JAVA] 선택 정렬(Selection Sort) (1) | 2016.08.31 |
[JAVA] 모래시계 찍기 (1) | 2016.08.30 |
[JAVA] 다이아몬드 찍기 (1) | 2016.08.30 |
[JAVA] 달팽이 로직 (2) | 2016.08.29 |