Удаление значения из целочисленного массива

  • Автор темы Автор темы Kirill_V
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
K

Kirill_V

Есть массив

int a[5] = {1, 3, 4, 2, 4};

Допустим нужно выкинуть из массива члены a[1] и a[3]. В итоге получаем массив:

int a[3]={1, 4, 2};


Как называется функция, которая выполняет эту простейшую задачу???

А если нужно что-нибудь прибавить в массив?

Заранее спасибо.
 
Эта задача кажется простейшей только на первый взгляд. Такой функции нет. Для реализации такого функционала можно воспользоваться вектором из STL или писать обертку для стандартных массивов
 
А после такого объявления
Код:
int a[5] = {1, 3, 4, 2, 4};
размер массива никак не изменить уже. Особенности С++ и статических массивов.
 
Эта задача кажется простейшей только на первый взгляд. Такой функции нет. Для реализации такого функционала можно воспользоваться вектором из STL или писать обертку для стандартных массивов


Угу, если вдруг нет МСДНа:

Example
Код:
// vector_erase.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>

int main( )
{
using namespace std;  
vector <int> v1;
vector <int>::iterator Iter;

v1.push_back( 10 );
v1.push_back( 20 );
v1.push_back( 30 );
v1.push_back( 40 );
v1.push_back( 50 );

cout << "v1 =";
for ( Iter = v1.begin( ); Iter != v1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;

v1.erase( v1.begin( ) );
cout << "v1 =";
for ( Iter = v1.begin( ); Iter != v1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;

v1.erase( v1.begin( ) + 1, v1.begin( ) + 3 );
cout << "v1 =";
for ( Iter = v1.begin( ); Iter != v1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
}

Output
v1 = 10 20 30 40 50
v1 = 20 30 40 50
v1 = 20 50

Если вдруг понадобится из вектора сделать массив, то создаём динамический массив, размером с вектор, и заполняем значения массива значениями из вектора.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!