//****************C++ Code***************
#include<iostream>
using namespace std;
int insertInArray(float listInput[], int capOfArray,int numItems, int index, float newVal)
{
// Create the new array to store the array with new element
float insertedArray [numItems+1];
//if array is full then no place to insert, hence return -1
if(numItems==capOfArray)
{
printf(“Array is full, no place to inset!”);
return -1;
}
else
{
for (int i=0; i<=numItems; i++)
{
//inser all the element before index to new array(no change)
if (i < index)
insertedArray[i] = listInput[i];
//insert the new val at index
else if (i == index)
insertedArray[i] = newVal;
//Now insert remaining element from original array to new array insertedArray
else
insertedArray[i] = listInput[i-1];
}
//print the inserted element
for(int i=0;i<numItems+1;i++)
printf(“%0.1f “,insertedArray[i]);
//return 0 for success
return 0;
}
}
int main()
{
//*******Test case 1**********
int capacity =5;
float listInput [capacity]={9.0,2.0,8.0,3.0};
int numItems =4;
int index =2;
int newVal=5;
// *********Test case 2*********
// int capacity =5;
// float listInput [capacity]={9.0,2.0,8.0,3.0};
// int numItems =5;
// int index =5;
// int newVal=5;
//call function to insertInArray and store the returned value in result variable
int result = insertInArray(listInput, capacity,numItems,index, newVal);
printf(“nn%dn”,result);
}
//*****************Output Test case for success***********
//*******Test case 1**********
// capacity =5;
// listInput [capacity]={9.0,2.0,8.0,3.0};
// numItems =4;
// index =2;
// newVal=5;

//*****************Output Test case for failure************
// *********Test case 2*********
// capacity =5;
// listInput [capacity]={9.0,2.0,8.0,3.0};
// numItems =5;
// index =5;
// newVal=5;
