2차배열 윗줄, 아랫줄

hy cho·2021년 11월 18일
0

알고리즘 공부

목록 보기
6/26
post-thumbnail

0) D A T A W
1) B B Q K

위와 같이 문장 2개를 2차배열에 하드코딩 해 주세요
숫자 하나를 입력받습니다

입력받은 숫자가 홀수면 윗줄을 정렬하고
입력받은 숫자가 짝수면 아랫줄을 정렬 해 주세요
ex) 만약 1을 입력받았다면 홀수이므로 윗줄만 정렬해야 합니다.

해결안 )

  1. char arr[2][6]; 배열 선언 6은 문자열은 끝에 칸 '\0'으로 채우기 때문에 한칸 더 함
  2. 숫자 하나 입력받음 int a; cin>> a;
  3. if(a % 2 ==0) a가 홀수인 조건 만들기
  4. a 홀수면 윗줄 출력하기 때문에 0행만 출력해야된다.
  5. 선택정렬로 해당 줄만 정렬시킨다.
if (a % 2 == 1) // a가 홀수면 
{
	for (int y = 0; y < 4; y++)
	{
		for (int x = y + 1; x < 5; x++)
		{
			if (arr[0][x] < arr[0][y]) // 첫번째 행만 정렬
			{
				swap(arr[0][x], arr[0][y]);
			}
		}
	}
}
profile
hihi

0개의 댓글