如何在C++中删除/插入数组元素

Zac*_*ong 2 c c++ arrays visual-c++

所以第一个问题,我在这里有这个数组:

arr[] = {1; 2; 3; 4; 5}
Run Code Online (Sandbox Code Playgroud)

如果我输入例如:3,第三个元素将被删除并替换为下一个值.像这样:

arr[] = {1; 2; 4; 5}
Run Code Online (Sandbox Code Playgroud)

我在这里有这个代码:

for(int i = 2; i < n; i++)
{
    arr[i] = arr[i + 1];
    arr[n - 1] = 0;
}
Run Code Online (Sandbox Code Playgroud)

但结果是

arr[] = {1; 2; 4; 0; 0}
Run Code Online (Sandbox Code Playgroud)

请修复代码

第二个问题,我也会键入"3",但不是删除第三个元素并替换它,我必须插入一个新的第三个元素,即"50",以便:

arr[] = {1; 2; 3; 4; 5}
Run Code Online (Sandbox Code Playgroud)

会变成:

arr[] = {1; 2; 50; 3; 4; 5}
Run Code Online (Sandbox Code Playgroud)

我仍然是编程和C++的菜鸟,这是我的第一个问题所以请你好好回答:D

非常感谢

Hei*_*bug 7

不,该元素永远不会被"删除".数组大小在编译时确定并将被修复.

如果需要在运行时调整数组大小,请考虑使用std :: vector.