0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 5
1

Вектор. Удаление(сдвиг) элементов

13.04.2017, 18:58. Показов 2130. Ответов 1

Сдвигаем все элементы, стоящие после указанной позиции на 1 ячейку влево
C++
1
2
3
4
5
6
7
8
9
void IntegerVectorDeleteAt(IntegerVector & _vector, int _position)
{
    assert(_position >= 0 && _position < _vector.m_nUsed);
 
    for (int i = _position + 1; i < _vector.m_nUsed; i++)
        _vector.m_pData[i - 1] = _vector.m_pData[i];
 
    --_vector.m_nUsed;
}
Нужно сделать так, только влево. И чтоб не 1, а все оставшиеся.
Похоже на это, но, чтоб не задавать _positionTo.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void IntegerVectorDeleteAtTo(IntegerVector & _vector, int _positionAt, int _positionTo)
{
    assert(_positionAt >= 0 && _positionAt < _vector.m_nUsed);
 
    if (_positionTo < _vector.m_nUsed)
    {
        for (int i = _positionAt, j = _positionTo; i < _positionAt + _vector.m_nUsed - _positionTo, j < _vector.m_nUsed; i++, j++)
            _vector.m_pData[i] = _vector.m_pData[j]; 
        _vector.m_nUsed = _positionAt + (_vector.m_nUsed - _positionTo);
 
    }
    else
        _vector.m_nUsed = _positionAt;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2017, 18:58
Ответы с готовыми решениями:

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов
Привет! Задача следующая. Нужно реализовать класс &quot;вектор&quot; с конструкторами, которые позволяют...

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный...

Сдвиг стоки вниз и Удаление столбцов Матрицы
Добрый день! Возник вопрос! Как правильно сдвигать строчку в матрице? (своего рода сортировка)...

Удаление из вектор строки
Здравствуйте, есть такой код, где &quot;a&quot; - это вектор строка, &quot;oz&quot; - массив чар. Суть такова , что при...

1
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
14.04.2017, 04:21 2
Что за задание я так и не понял, но может это чем то поможет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <algorithm>
#include <vector>
#include <iterator>
#include <iostream>
 
int main()
{
    std::vector <int> v { 11, -3,5,2,7,-8,-9,5,7,11,-23 };
 
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, "   "));
 
    std::cout << std::endl;
 
    v.erase(std::remove_if(v.begin(), v.end(), [](int x) { return x < 0; }), v.end());
 
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, "   "));
 
    system("pause");
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2017, 04:21
Помогаю со студенческими работами здесь

Осуществить циклический сдвиг элементов в матрице на k элементов вправо или вниз
Осуществить циклический сдвиг элементов в мат-це на k элементов вправо или вниз (в зависимости от...

Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз
Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в...

Дано одномерный массив Х, размером 15 элементов. Провести циклический сдвиг элементов в массиве вправо на 2 позиции
Дано одномерный массив Х, размером 15 элементов. Провести циклический сдвиг элементов в массиве...

Двумерынй вектор, удаление через erase
Есть двумерный вектор Clusters: std::vector &lt;std::vector &lt;int&gt; &gt; Clusters (ExternalSetV.size(),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru