• Как удалить элемент массива?

    Olej
    @Olej
    инженер, программист, преподаватель
    3) Удалить элемент с номером К.

    В массивы C/C++ нельзя ничего добавлять и из них нельзя ничего удалять, массивы C/C++ статические.
    Можно только создавать новые массивы, "похожие" на своих предшественников, где будет элементов больше или меньше ... и каждый раз - копирование всех нужных элементов.

    Добавлю:
    - по п.п.4-5 - наслаждайтесь (случайные числа я генерить не стал - так нагляднее):
    void defuse( const int a[], int n ) {
       int lim = n + n / 2,
           d[ lim ],
           t = lim - 1;
       while( --n >= 0 ) {
          d[ t-- ] = a[ n ];
          if( n % 2 == 0 ) d[ t-- ] = 0;
       }
       for( int n = 0; n < lim; n++ )
          cout << d[ n ] << ( n == lim - 1 ? "\n" : " " );
    }
    
    int main( int argc, char* argv[] ) {
       const int N = atoi( argv[ 1 ] );
       int arr[ N ];
       for( int i = 0; i < N; i++ )
          cout << ( arr[ i ] = i + 1 ) << ( i == N - 1 ? "\n" : " " );
       defuse( arr, N );
    }

    - а чтобы вою было меньше ... исполняем:
    $ ./narr 5
    1 2 3 4 5
    1 2 0 3 4 0 5
    $ ./narr 6
    1 2 3 4 5 6
    0 1 2 0 3 4 0 5 6

    - кстати, тот же трюк (без всяких malloc()) можете проделать и в современном C ;-)
    Ответ написан