/ value index
3 5 2 1 4 1 3
1 5 2 3 4 2 2
1 2 5 3 4 3 3
1 2 3 5 4 4 4
1 2 3 4 5
/
이런식으로 출력하는 프로그램을 만들어라! 라는 예제가 나온다면 어떻게 풀이할 것인가?
한번 풀어보고 아래의 프로그램 코드를 보길 바란다.
#include <iostream>
using namespace std;
void printArray(const int array[], const int length)
{
for (int index = 0; index < length; ++index)
cout << array[index] << " ";
cout << endl;
}
int main()
{
/* value index
3 5 2 1 4 1 3
1 5 2 3 4 2 2
1 2 5 3 4 3 3
1 2 3 5 4 4 4
1 2 3 4 5
*/
const int length = 5;
int array[length] = { 3, 5, 2, 1, 4 };
//printArray(array, length);
int temp[length] = { 0 };
int count = 0;
printArray(array, length);
for (int index = 0; index < length - 1; ++index)
{
for (int temp_index = index; temp_index < length; ++temp_index)
{
if (array[index] > array[temp_index])
{
temp[index] = array[index];
array[index] = array[temp_index];
array[temp_index] = temp[index];
}
}
printArray(array, length);
count += 1;
}
return 0;
}
초보자들에게는 어려울 수 있으나 한번쯤은 넘어야 할 산이니 꼭 풀어보길 바란다.