자바로 이 알고리즘을 짜봤습니다.






쉽게 알아보기 위해서 소스에서는 배열 크기를 하나씩 더 늘려서 만들었습니다.



//배열 A(4,3) -> B(3,4)에 저장
public class Fifteen1 {
   
    public static void main(String args[])
    {
        int ROW = 4;
        int COL = 3;
        int P = 1;
        int Q = 0;
       
        int A[][] = new int[5][4];
        int B[][] = new int[4][5];
        int N = 0;
       
        System.out.println("A 배열입니다.");
       
        //A배열 출력
        for(int i =1; i<=ROW; i++)
        {
            for(int j = 1; j<=COL; j++)
            {
                N++;
                A[i][j] = N;
                       
                System.out.print("["+A[i][j]+"]");
                if(j == 3)
                {
                    System.out.println("");
                }
            }   
        }


        System.out.println("\n");
        System.out.println("B 배열입니다.");
       
       
        //변환~!
        for(int i = 1; i<=ROW; i++)
        {
            for(int j = 1; j<=COL; j++)
            {
                Q++;
                B[P][Q] = A[i][j];
               
                if(Q>=ROW)
                {
                    P++;
                    Q=0;
                }
                else
                {}
            }
        }
       
        //B배열 출력
        for(int i = 1; i<=3; i++)
        {
            for(int j = 1; j<=4; j++)
            {
                System.out.print("["+  B[i][j]  +"]");
                if(j == 4)
                {
                    System.out.println("");
                }
            }
        }   
    }       
}
 



출력화면




 



+ Recent posts