Comment ajouter une valeur à un tableau en C++

Le programme doit décaler d'une case à droite tous les éléments à partir de l'indice i en supprimant le dernier élément du tableau et doit mettre la valeur à ajouter dans le tableau à l'indice i. Il faut aussi prendre en considération de ne pas écraser les éléments, donc le décalage des éléments en C++ commence du dernier élément et on décrémente vers l'élément n-1 et ainsi de suite jusqu'à atteindre l'indice i.

using namespace std;
#include<iostream>

int main()
{
int n;
cout<<"taille du tableau ";
cin>>n;

int t[n],indice,Val;

for(int i=0;i<n;i++)
{
cout<<"t[ "<<i<<" ] = ";
cin>>t[i];
}

cout<<"Insertion d'une nouvelle valeur à l'indice i"<<endl;
cout<<"Tapez un indice de 0 à "<<n<<" : ";
cin>>indice;
cout<<"Tapez la valeur de V : ";
cin>>Val;

if(indice<=n-1 && indice>=0 )
{
for(i=n-1;i>indice;i--)//le dernier élément va être écrasé
t[i]=t[i-1];
//quand le décalage est fini on met la valeur à l'indice choisi
t[indice]=Val;
}
else{
cout<<"Erreur : l'indice dépasse la taille du tableau";
}
//affichage des elements
cout<<"t = [ ";
for(i=0;i<n;i++)
cout<<t[i]<<" ";
cout<<" ] ";
system("pause");
}