C++ В конец динамического массива не добавляется элемент с заданным индексом
Меня интересует фрагмент кода начиная с Arr222 (После второго комментария). Как мне кажется, в новый массив должны передаться значения из Arr111 + в конец массива, т.к. он на 1 элемент имеет больше, занестись значение элемента с индексом K. Но результат выполнения этой части - бесконечный вывод нулей.
int main(int argc, char** argv) {
setlocale(LC_ALL, "Russian");
// randomize();
int sizeArr,i,N,K;
cout<<"Обозначьте размер массива : ";
cin>>sizeArr;
cout<<"Заполнение массива псевдослучайными значениями : "<<endl;
int *Arr = new int[sizeArr];
for (i=0;i<sizeArr;i++)
{
Arr[i]=rand()%10;
cout<<Arr[i]<<"\t";
}
cout<<endl<<endl<<"Действие 1 - Удаление N элементов, начиная с номера K"<<endl;
cout<<"N = ";
cin>>N;
cout<<"K = ";
cin>>K;
// (1) создание нового динамического массива размером size - N, чтобы в него перенести только нужные нам элементы:
int *Arr111 = new int[sizeArr-N];
cout<<endl;
for(i=0;i<sizeArr;i++)
{
if(i>=K && i<N+K)
{
// cout<<" / delete element / ";
}
else
{
Arr111[i]=Arr[i];
cout<<Arr111[i]<<"\t";
}
}
sizeArr=sizeArr-N;
//cout<<sizeArr;
// (2)
sizeArr++;
int *Arr222 = new int[sizeArr];
cout<<endl<<"Задайте номер(индекс) элемента (K), после чего добавим его к массиву "<<endl;
cout<<"K = ";
cin>>K;
for(i=0;i<sizeArr;i++)
{
Arr222[i]=Arr111[i];
if(i=K)
{
Arr222[sizeArr-1]=Arr222[i];
}
cout<<Arr222[i];
}
return 0;
}
И вообще, можете кратко объяснить, какой толк в таких динамических массивах, если с количеством элементов нельзя работать напрямую.