My footsteps

code 실습 / 1️⃣7️⃣ 본문

국비수업/CODE

code 실습 / 1️⃣7️⃣

밀김 2023. 3. 10. 19:57
728x90

 
 
 
 
 
 
 
 
✏️ 다음 각 절차를 따라 작성하시오.
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;
	         }
	     }

 
 


 
 
 

 

 

728x90

'국비수업 > 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