// Bubblesort of an array of 5 integers. // // Pass through the array right to left. On each pass through the // outer loop, the smallest remaining value will "bubble" over to its // appropriate final location in the left side of the array. #include <iostream> using namespace std; const int MAX = 5; int main() { int A[MAX]; // The following output line should NOT be encoded into IBCM -- it // is just to make the C++ implementation easier to understand // when run cout << "Enter " << MAX << " numbers to sort, one per line." << endl; // Read in the array values. For IBCM implementation, assume that // array is hard coded AFTER the end of the program to perform // bubblesort for (int k = 0; k < MAX; k++) { cin >> A[k]; } // print out the user input to the screen cout << endl << "Original:"; for (int k = 0; k < MAX; k++) { cout << " " << A[k]; } cout << endl; // Your IBCM program should be these 2 nested for loops plus some // additional variable declarations to store the information you // need. This is what you have to implement in IBCM. cout << endl; for (int i = 0; i < MAX; i++) { for (int j = MAX - 1; j > i; j--) { if (A[j] < A[j - 1]) { // swap A[j] and A[j-1] int temp = A[j]; A[j] = A[j - 1]; A[j - 1] = temp; } } // You don't have to worry about all this output for the IBCM version. cout << "After Pass " << i << ":"; for (int k = 0; k < MAX; k++) { cout << " " << A[k]; } cout << endl; } cout << endl; // You DO NOT have to implement this. It is only provided so that // you may compile and run your program to understand how the // algorithm works. cout << "Sorted:"; for (int k = 0; k < MAX; k++) { cout << " " << A[k]; } cout << endl; }