2차 배열 정렬

hy cho·2021년 11월 19일
0

알고리즘 공부

목록 보기
8/26
post-thumbnail

2차 배열에 있는 숫자들을 정렬하고자 합니다.

숫자 6개를 입력받고 2 x 3 배열에 넣어주세요.

5 3 6 를 입력 받아서 1 2 3 으로 정렬해서 출력하기
1 3 2 3 5 6

해결안 )

  1. 2차원 배열 입력받기 int arr[2][3] ;

  2. 2차원 배열을 1차원 배열로 옮기기 int brr[6];
    int t = 0;
    for (int y = 0; y < 2; y++)
    {
    for (int x = 0; x < 3; x++)
    {
    brr[t++] = arr[y][x];
    //1차원 배열 brr 만들어서 arr배열을 받는다.
    }
    }

  3. brr배열을 정렬한다.

for (int y = 0; y < 5; y++)
{
for (int x = y + 1; x < 6; x++)
{
if (brr[y] > brr[x])
{
swap(brr[y], brr[x]);
}
}

}
  1. 정렬된 brr 배열을 다시 이차배열 arr에 넣는다.

for (int k = 0; k < 6; k++)
{
for (int y = 0; y < 2; y++)
{
for (int x = 0; x < 3; x++)
{
arr[y][x] = brr[k++];
}
}
}
5. arr 출력 .

profile
hihi

0개의 댓글