2016. 10. 02. 정보처리 산업기사 실기(알고리즘)
5행 3열의 arrayA를 3행 5열의 arrayB로 변환하여 보자!
알고리즘은 아래와 같다.
package example;
class ArrayExam{
public void matrixTransformation(){
System.out.println("\n 배열12 행렬 변환");
int r=5;
int c=3;
int arrayA[][] = new int [r][c];
int arrayB[][] = new int [c][r];
int num = 0;
for(int i=0; i<r; i++){
for(int J=0; J<c; J++){
num = num + 1;
arrayA[i][J] = num;
}
}
int L=0; int M=-1;
for(int i=0; i<r; i++){
for(int J=0; J<c; J++){
M = M + 1;
arrayB[L][M] = arrayA[i][J];
if(M>=r-1){ //arrayB의 열이 arrayA의 행의 숫자와 같아지면
L = L + 1; //arrayB의 행값을 1증가 시키고
M = -1; //열값은 0이 되도록 초기화 해준다. -1인 이유는 위에서 카운팅
} 먼저 하고 작업하기 때문이다!
}
}
System.out.println(" arrayA");
for(int row=0; row<r; row++){
for(int col=0; col<c; col++){
System.out.printf("%3d",arrayA[row][col]);
}
System.out.println();
}
System.out.println("\n arrayB");
for(int row=0; row<c; row++){
for(int col=0; col<r; col++){
System.out.printf("%3d",arrayB[row][col]);
}
System.out.println();
}
}
}//class
public class AlgorismArray {
public static void main(String[] args) {
ArrayExam e = new ArrayExam();
e.matrixTransformation();
}//main
}//class
'IT story > Algorism' 카테고리의 다른 글
배열11 마방진(magic square) (0) | 2016.09.04 |
---|---|
배열10 대각선으로 채우기 (0) | 2016.09.04 |
배열9 달팽이 만들기 (0) | 2016.09.04 |
배열8 90도 회전하기 (0) | 2016.09.04 |
배열7 이등변 삼각형 만들기 (0) | 2016.09.04 |