//Should i have used all the 3 loops? lol(?)
//and yeah i know, there is more elegant solutions for this out there, anyway i hope it helps
#include <iostream>
using std::cin;
using std::cout;
//This functions receives an array of int, it's size, the position to insert an element, and the element, and returns a new array.
int *addTo(int nArrA[], const int SIZE, int nPos, int nNumber)
{
//creates a new array with one more position
int *nArrB = new int[SIZE+1];
//saves the value in that position
int nValue = nArrA[nPos];
for(int i = 0; i < SIZE; i++)
{
if(i == nPos)
{
nArrB[i] = nNumber;
nArrB[i+1] = nValue;
continue;
}
else if(i > nPos)
nArrB[i+1] = nArrA[i];
else
nArrB[i] = nArrA[i];
}
return nArrB;
}
int main()
{
//Create and array
int nArray[7] = {0, 1, 2, 3, 4, 7, 12};
//this will get the array's size
int size = (sizeof(nArray)/sizeof(nArray[0]));
int nValue = 0, nPos = 0;
cout << "Type the value to insert in the array:\n";
cin >> nValue;
//Please do not explode the program, use some valid position.
cout << "Type the position to insert the element:\n";
cin >> nPos;
int *arr = addTo(nArray, size, nPos, nValue);
for(int i = 0; i <= 7; i++)
cout << *(arr + i) << " ";
}
btw, sorry for my broken english