#include <iostream>
int *NewArray(int array[], int len, int num){
int *array2 = new int[len];
for(int i=0, j = 0; i<len; ++j ){
if(num == array[j]){
++j;
// Don't increment i, increment j
// to skip the element from array
}
else {
array2[i] = array[j];
// Increment i since it is being assigned a value from array.
++i;
}
}
return array2;
}
int main()
{
int array[] = {1, 2, 3, 3, 4, 5};
int* array2 = NewArray(array, 6, 3);
for (int i = 0; i < 6; ++i )
{
std::cout << array2[i] << " ";
}
std::cout << std::endl;
delete [] array2;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50ICpOZXdBcnJheShpbnQgYXJyYXlbXSwgaW50IGxlbiwgaW50IG51bSl7CiAgIGludCAqYXJyYXkyID0gbmV3IGludFtsZW5dOwogICBmb3IoaW50IGk9MCwgaiA9IDA7IGk8bGVuOyArK2ogKXsKICAgICAgaWYobnVtID09IGFycmF5W2pdKXsKICAgICAgICAgKytqOwogICAgICAgICAvLyBEb24ndCBpbmNyZW1lbnQgaSwgaW5jcmVtZW50IGoKICAgICAgICAgLy8gdG8gc2tpcCB0aGUgZWxlbWVudCBmcm9tIGFycmF5CiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgIGFycmF5MltpXSA9IGFycmF5W2pdOwogICAgICAgICAvLyBJbmNyZW1lbnQgaSBzaW5jZSBpdCBpcyBiZWluZyBhc3NpZ25lZCBhIHZhbHVlIGZyb20gYXJyYXkuCiAgICAgICAgICsraTsKICAgICAgfQogICB9CiAgIHJldHVybiBhcnJheTI7Cn0KCmludCBtYWluKCkKewogICBpbnQgYXJyYXlbXSA9IHsxLCAyLCAzLCAzLCA0LCA1fTsKICAgaW50KiBhcnJheTIgPSBOZXdBcnJheShhcnJheSwgNiwgMyk7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgNjsgKytpICkKICAgewogICAgICBzdGQ6OmNvdXQgPDwgYXJyYXkyW2ldIDw8ICIgIjsKICAgfQogICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoKICAgZGVsZXRlIFtdIGFycmF5MjsKfQo=