My program runs fine. The only problem is at the bottom of my "insertAt" function. I am trying to insert a number to the array. Whatever number I insert, it keeps appearing at the front of the array instead of the position I want it to.
For example:
Original Array:
23,65,34,82,37,12,17,24,36,82,51
user input: 5 2 (with 5 as the number and 2 as in the position in the array)
comes out as:
5,23,65,34,82,37,12,17,24,36,82,51
instead of
23,65,5,34,82,37,12,17,24,36,82,51[/B]
What is the correct adjustment to this problem?
#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;
}