Write a function, insertAt, that takes four parameters: an array of integers, the number of elements in the array, an integer (say, insertItem), and an integer (say, index). The function should insert insertItem in the array provided at the position specified by index. If index is out of range, output the following: Position of the item to be inserted is out of range or if the index is negative: Position of the item to be inserted must be nonnegative (Note that index must be between 0 and the number of elements in the array; that is, 0 <= index < the number of elements in the array.) Assume that the array is unsorted.

Respuesta :

Answer:

Implemented the program using C++ below

Explanation:

#include <iostream>

#include <iomanip>

using namespace std;

void printIt (int numbers[],int length);

int removeAt (int numbers[], int length, int index);

void insertAt (int numbers[], int length, int insertItem, int index);

int main()

{

int numbers[] = {4,23,65,34,82,37,12,17,24,36,82,51};

int length;

int index;

int insertItem;

cout<<"Removing an item from the list..."<<endl;

cout<<endl;

printIt(numbers,12);

removeAt(numbers,12,index);

insertAt(numbers,12,insertItem,index);

system ("PAUSE");

return 0;

}

void printIt (int numbers[],int length)

{

cout<<"The current array..."<<endl;

for (int i = 0; i<length; i++)

{

cout<<numbers[i]<<" ";

}

cout<<endl;

}

int removeAt (int numbers[], int length, int index)

{

int item;

cout<<endl;

cout<<"There are "<<length<<" item(s) in the list (position 0 through 11)"<<endl;

cout<<"Enter the position of the item to be removed."<<endl;

cout<<"Enter 0 for the first item and so on: ";

cin>>item;

if (item > length)

{

cout<<endl;

cout<<"!!!!!!!!!!!!!!!!!! ERROR !!!!!!!!!!!!!!!!!!"<<endl;

cout<<endl;

cout<<"The current array..."<<endl;

for (int i = 0; i<length; i++)

{

cout<<numbers[i]<<" ";

}

cout<<endl;

cout<<endl;

cout<<"!!!! Index out of Range !!!!"<<endl;

cout<<"There are "<<length<<" item(s) in the list (position 0 through 11)"<<endl;

cout<<"You entered position "<<item<<", which is OUT OF RANGE."<<endl;

cout<<"Enter the position of the item to be removed."<<endl;

cout<<"Enter 0 for the first item and so on: ";

cin>>item;

cout<<endl;

cout<<"After removing the item at position "<<item<<", array is..."<<endl;

cout<<endl;

cout<<"The current array..."<<endl;

}

for (int i = 0; i < length; i++)

{

if (i != item)

{

cout<<numbers[i]<<" ";

}

}

cout<<endl;

cout<<endl;

cout<<"************************************************************";

cout<<endl;

cout<<endl;

}

void insertAt (int numbers[], int length, int insertItem, int index)

{

int item;

cout<<"Inserting an item in the list..."<<endl;

cout<<endl;

cout<<"The current array..."<<endl;

for (int i = 0; i < length; i++)

{

if (i != item)

{

cout<<numbers[i]<<" ";

}

}

cout<<endl;

cout<<"There are 10 items(s) in the list (position 0 through 11)"<<endl;

cout<<"Enter item to be inserted and its position"<<endl;

cout<<"Position of the first element is 0,"<<endl;

cout<<"so if you want the #5 at the front type in: "<<endl;

cout<<"5 (space) 0 "<<endl;

cin>>insertItem;

cin>>index;

if (index > length)

{

cout<<endl;

cout<<"!!!!!!!!!!!!!!!!!! ERROR !!!!!!!!!!!!!!!!!!"<<endl;

cout<<endl;

cout<<"The current array..."<<endl;

for (int i = 0; i < length; i++)

{

if (i != item)

{

cout<<numbers[i]<<" ";

}

}

cout<<endl;

cout<<endl;

cout<<"!!!! Index out of Range !!!!"<<endl;

cout<<"There are "<<length<<" item(s) in the list (position 0 through 11)"<<endl;

cout<<"You entered position "<<index<<", which is OUT OF RANGE. Please try again."<<endl;

cout<<endl;

cout<<"Enter item to be inserted and its position"<<endl;

cout<<"Position of the first element is 0,"<<endl;

cout<<"so if you want the #5 at the front type in: "<<endl;

cout<<"5 (space) 0 "<<endl;

cin>>insertItem;

cin>>index;

}

cout<<endl;

cout<<"After inserting the item at position "<<insertItem<<", array is..."<<endl;

cout<<endl;

cout<<"The current array..."<<endl;

numbers[insertItem-1] = insertItem;

cout<<numbers[insertItem-1]<<" ";

for (int i = 0; i < length; i++)

{

if (i != item)

{

cout<<numbers[i]<<" ";

}

}

cout<<endl;

}