• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

Kirill_V

Есть массив

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

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

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


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

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

Заранее спасибо.
 
E

European

Эта задача кажется простейшей только на первый взгляд. Такой функции нет. Для реализации такого функционала можно воспользоваться вектором из STL или писать обертку для стандартных массивов
 
G

grigsoft

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

mms

Эта задача кажется простейшей только на первый взгляд. Такой функции нет. Для реализации такого функционала можно воспользоваться вектором из 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

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

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