In: Computer Science
#include#include/* Program sorts an array of integers using a selection sort. The general algorithm repeatedly finds the smallest number in the array and places it at the front of the list. */ using namespace std; int find_small_index (int start_index, int numbers []); void swap_values (int index1, int index2, int numbers []); int main(int argc, char *argv[]) { // array of numbers int numbers [10] = {7, 9, 21, 16, 65, 8, 32, 1, 17, 41}; int start_index; // current starting spot for search int small_index; // index of the smallest number in the array int index; // index used for print the array values start_index = 0; // continue finding the smallest value and placing it // at the front of the list while (start_index < 9) { small_index = find_small_index (start_index, numbers); swap_values (small_index, start_index, numbers); start_index++; } cout << "\n\nThe sorted array is:\n"; for (index = 0; index < 10; index++) cout << numbers [index] << " "; cout << "\n\n"; return 0; } int find_small_index (int start_index, int numbers []) { int small_index, // smallest index to be returned index; // current index being viewed small_index = start_index; for (index = start_index + 1; index < 10; index++) if (numbers [index] < numbers [small_index]) small_index = index; return small_index; } void swap_values (int index1, int index2, int numbers []) { int swapper; swapper = numbers [index1]; numbers [index1] = numbers [index2]; numbers [index2] = swapper; }
- The program is hard coded to only work with arrays of 10 numbers. Add a constant called size before main that is assigned the number of elements to be sorted. Use this size constant in the rest of the program so that the sort will work for any number of values. Run your program with size equal to 12 (add 2 more numbers to the array in its declaration list). -
- A simple change to the program will sort the numbers from largest to smallest. Change your program so that it does this. Do not print the sorted values in reverse order! Actually change the sort.