My footsteps
code 실습 / 1️⃣7️⃣ 본문
✏️ 다음 각 절차를 따라 작성하시오.
1-1. 파일을 생성하고 다음 데이터를 복사/붙여넣으시오.
11111111110000000000
11111111100000000000
11111111000000000000
11111110000000000000
11111100000000000000
11111000000000000000
11110000000000000000
11100000000000000000
11000000000000000000
10000000000000000000
1-2. bitmap이라는 이름으로 10X20크기의 정수를 담을 수 있는 이차원 배열을 생성하시오.
[ ] bitmap = [ ];
FileInputStream fis = new FileInputStream("res/bitmap.txt");
Scanner fsc = new Scanner(fis);
int[][] bitmap = new int[10][20];
for(int r=0; r<bitmap.length; r++) {//세로
String line = fsc.nextLine();
String[] tokens = line.split(""); //문자열 배열 한줄만 들어감
for(int i=0; i<bitmap.length; i++) {//가로
bitmap[r][i] = Integer.parseInt(tokens[i]);
//개행은 알아서 되면서 들어간다
}
}
for(int r=0; r<10; r++) {
for(int i=0; i<20; i++) {
System.out.print(bitmap[r][i]);
}
System.out.println();
1-3. 다음 그림과 같은 모양이 되도록 값의 위치를 변경하시오
00000000001111111111
00000000000111111111
00000000000011111111
00000000000001111111
00000000000000111111
00000000000000011111
00000000000000001111
00000000000000000111
00000000000000000011
00000000000000000001
{
// 코드를 작성하는 공간
System.out.println(“자리변경 완료”);
}
1-4. res/bitmap-out.txt 파일로 bitmap 배열의 값들을 저장
{
// 코드를 작성하는 공간
System.out.println(“저장 완료”);
}
FileInputStream fis = new FileInputStream("res/bitmap.txt");
Scanner fsc = new Scanner(fis);
int[][] bitmap = new int[10][20];
for(int r=0; r<bitmap.length; r++) {//세로
String line = fsc.nextLine();
String[] tokens = line.split(""); //문자열 배열 한줄만 들어감
for(int i=0; i<bitmap[r].length; i++) {//가로의 length
bitmap[r][i] = Integer.parseInt(tokens[i]);
}
}
for(int r=0; r<10; r++) {
for(int i=0; i<10; i++) {
int tmp = bitmap[r][i];//정수형상태
bitmap[r][i] = bitmap[r][19-i]; //i가 19가 끝이니까 뒤에서부터 앞으로 오는거면 마이너스다.
bitmap[r][19-i] = tmp;
}
}//출력은 따로
FileOutputStream fos = new FileOutputStream("res/bitmap-out.txt");
PrintStream ps = new PrintStream(fos);
for(int r=0; r<10; r++) {
for(int i=0; i<20; i++) {
ps.print(bitmap[r][i]);
}
ps.println(); //파일 보내줄때 개행한다
}
+ 2차원 배열 1차원 배열로 변경하기
int[][] bitmap = new int[10][20];
// 2차원코드
for (int i = 0; i < 10; i++)
for (int j = 0; j < 10; j++) {
int temp = bitmap[i][j];
bitmap[i][j] = bitmap[i][19 - j];
bitmap[i][19 - j] = temp;
}
//1차원 코드
for (int i = 0; i < 10; i++) {
int[] bitTmp = bitmap[i];
for (int j = 0; j < 10; j++) {
int temp = bitTmp[j];
bitTmp[j] = bitTmp[19 - j];
bitTmp[19 - j] = temp;
}
}


'국비수업 > CODE' 카테고리의 다른 글
code 실습 / 1️⃣9️⃣ (0) | 2023.03.14 |
---|---|
code 실습 / 1️⃣8️⃣ (0) | 2023.03.13 |
code 실습 / 1️⃣6️⃣ (0) | 2023.03.09 |
code 실습 / 1️⃣5️⃣ (0) | 2023.03.08 |
code 실습 / 1️⃣4️⃣ (0) | 2023.03.07 |