Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Finish the implementation of the following program. Keep two things in mind: Run

ID: 3936261 • Letter: F

Question

Finish the implementation of the following program. Keep two things in mind:

Run the demo to get idea how the program should run

Add menu function accordingly

The student should implement and test the following functions:

void fill_array(int arr[], int size);
// precondition: The arr has actual size that is greater than or equal to size
// postcondition: arr[0], ..., arr[size-1] is filled from keyboard

void print_array(int arr[], int size);
// precondition: The arr has actual size that is greater than or equal to size
// postcondition: arr[0], ..., arr[size-1] is printed to screeen with 5 elements per line

int linear_search(int arr[], int size, int key);
// precondition: arr has given size
// postcondition: The index of first occurrence of key in arr is returned. If the key cannot be found in arr, -1 is returned

void select_sort(int arr[], int size);
// precondition: arr has given size
// postcondition: the elements in arr are rearranged from least to largest

void insert_sort(int arr[], int size);
// precondition: arr has given size
// postcondition: the elements in arr are rearranged from least to largest

void bubble_sort(int arr[], int size);
// precondition: arr has given size
// postcondition: the elements in arr are rearranged from least to largest

Of course, a menu function is needed. (you should know how to write the menu after run the demo). The main function will look like following


int main() {
    int choice;
    int a[9];
    do{
        menu();
        cout << "Enter your choice: ";
        cin >> choice;
        switch(choice)
        {
            case 1:
            {
                fill_array(a, 9);
                cout << "Enter the key you want to search: ";
                int key;
                cin >> key;
                int index = linear_search(a, 9, key);
                if(index == -1)
                    cout << "The key " << key << " is not in array ";
                else
                    cout << "The key " << key << " is #" << (index + 1) << " element in array ";
                break;
            }
            case 2:
            {
                fill_array(a, 9);
                select_sort(a, 9);
                cout << "After sort, the array is: ";
                print_array(a, 9);
                break;
            }
            case 3:
            {
                fill_array(a, 9);
                insert_sort(a, 9);
                cout << "After sort, the array is: ";
                print_array(a, 9);
                break;
            }
            case 4:
            {
                fill_array(a, 9);
                bubble_sort(a, 9);
                cout << "After sort, the array is: ";
                print_array(a, 9);
                break;
            }
            case 5:
            {
                cout << "Thank you for using the array functions ";
                break;
            }
            default:
            {
                cout << "Wrong choice. Please choose from menu: ";
                break;
            }
        }
    }while(choice != 5);
   
    return 0;
}

Explanation / Answer

//code has been tested on gcc compiler

//start of code
#include <iostream>

using namespace std;

void fill_array(int arr[], int size){ //function to fill elements in array
cout<<"enter elements of array :"<<endl;
for(int i=0;i<size;i++)
cin>>arr[i];
  
}
// precondition: The arr has actual size that is greater than or equal to size
// postcondition: arr[0], ..., arr[size-1] is filled from keyboard

void print_array(int arr[], int size){ //function to print elements of array
for(int i=0;i<size;i++)
cout<<arr[i];
}
// precondition: The arr has actual size that is greater than or equal to size
// postcondition: arr[0], ..., arr[size-1] is printed to screeen with 5 elements per line

int linear_search(int arr[], int size, int key){ //function to perform linear search
for(int i=0;i<size;i++)
{
if(arr[i]==key)
return i;
}
return -1;
}
// precondition: arr has given size
// postcondition: The index of first occurrence of key in arr is returned. If the key cannot be found in arr, -1 is returned

void select_sort(int arr[], int size){ //function to perform selection sort
int min,index;
int temp;
for(int i=0;i<size-1;i++)
{
min=arr[i];
index=i;
for(int j=i+1;j<size;j++)
{
if(min>arr[j])
{
min=arr[j];
index=j;
}
}

temp=arr[i];
arr[i]=arr[index];
arr[index]=temp;
}

}
// precondition: arr has given size
// postcondition: the elements in arr are rearranged from least to largest

void insert_sort(int arr[], int size){ //function to perform insertion sort
int temp;
for (int i = 1; i < size; i++)
{
for (int j = i; j >= 1; j--)
{
if (arr[j] < arr[j-1])
{
temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
else
break;
}
}
}
// precondition: arr has given size
// postcondition: the elements in arr are rearranged from least to largest

void bubble_sort(int arr[], int size){ //function to perform bubble sort
int temp;
for(int i=1;i<size;++i)
{
for(int j=0;j<(size-i);++j)
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
  
}
// precondition: arr has given size
// postcondition: the elements in arr are rearranged from least to largest
//Of course, a menu function is needed. (you should know how to write the menu after run the demo). The main function will look like following
void menu(){ //menu function
cout<<"Hi User!!,We are presenting following list of array functions :"<<endl;
cout<<"Choice number"<<" "<<"Array Function"<<endl;
cout<<"1 "<<" "<<"Linear Search"<<endl;
cout<<"2 "<<" "<<"Selection Sort"<<endl;
cout<<"3 "<<" "<<"Insertion Sort"<<endl;
cout<<"4 "<<" "<<"Bubble Sort"<<endl;
cout<<"5 "<<" "<<"I dont want to use any function"<<endl;
}

int main() {
int choice;
int a[9];
do{
menu();
cout << "Enter your choice: ";
cin >> choice;
switch(choice)
{
case 1:
{
fill_array(a, 9);
cout << "Enter the key you want to search: ";
int key;
cin >> key;
int index = linear_search(a, 9, key);
if(index == -1)
cout << "The key " << key << " is not in array ";
else
cout << "The key " << key << " is #" << (index + 1) << " element in array ";
break;
}
case 2:
{
fill_array(a, 9);
select_sort(a, 9);
cout << "After sort, the array is: ";
print_array(a, 9);
break;
}
case 3:
{
fill_array(a, 9);
insert_sort(a, 9);
cout << "After sort, the array is: ";
print_array(a, 9);
break;
}
case 4:
{
fill_array(a, 9);
bubble_sort(a, 9);
cout << "After sort, the array is: ";
print_array(a, 9);
break;
}
case 5:
{
cout << "Thank you for using the array functions ";
break;
}
default:
{
cout << "Wrong choice. Please choose from menu: ";
break;
}
}
}while(choice != 5);

return 0;
}

//end of code

*********OUTPUT*********
Hi User!!,We are presenting following list of array functions :   
Choice number Array Function
1 Linear Search   
2 Selection Sort
3 Insertion Sort
4 Bubble Sort
5 I dont want to use any function   
Enter your choice: 1
enter elements of array :
1   
5   
7   
4   
8   
9   
3   
4   
6
Enter the key you want to search: 4
The key 4 is #4 element in array   

*********OUTPUT*********

In case of any doubt,please let me know,Thanks.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at drjack9650@gmail.com
Chat Now And Get Quote