Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 134
#1

Копирование части вектора в другой вектор по условию, функцией copy_if - C++

14.06.2014, 12:10. Просмотров 577. Ответов 5
Метки нет (Все метки)

Добрый день.
Есть вектор структуры. Нужно сделать копию вектора по условию.
Можно конечно в цикле перебирать элементы и сравнивать и копировать. Это я сделал. А как это реализовать с помощью функции copy_if
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
typedef struct sCdelki{
    string  KodBumagi;
    string  Nzajava;
    string  Nsdelka;
    int Kol_vo;
} sСделки;
 
typedef vector<sCdelki*> vCdelki;
vCdelki vTekCdelki;
vCdelki vKopyCdelki;
.........
string _KodBumagi="RIM4";
 
copy_if(vTekCdelki.begin(),vTekCdelki.end(), vKopyCdelki.begin(), // не знаю как сделать  _KodBumagi ==     KodBumagi );
Помогите пожалуйста.
С уважением, Александр
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2014, 12:10     Копирование части вектора в другой вектор по условию, функцией copy_if
Посмотрите здесь:

Как разбить вектор на части(то есть вектора того же типа) - C++
Как разбить вектор на части(то есть вектора того же типа), чтобы было по 8 элементов в каждом vector&lt;bool&gt; fg;//вот его надо...

Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор - C++
Все элементы вектора V,которые встречаються более одного раза ,переписать в другой вектор. Задача на С++ помогите решить.

Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А - C++
Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А на начало, а...

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

Заполнение вектора функцией copy из бинарного файла - C++
Здравствуйте! Есть бинарный файл с таким содержимым: 10 01 C0 00 00 58 01 01 00 01 00 06 03 00 00 00 00 00 00 00...

Вектор вектора - C++
Доброго времени суток формучане! Очень надеюсь на вашу помощь. Вопрос вроде простой, но у меня в синтаксисе векторов дела плохи. В...

Сформировать два вектора по условию - C++
Ввести с клавиатуры целые числа M, N и вектор A=(a1, a2,...an), n=15. Вектор должен содержать положительные и отрицательные числа. Найти...

Копирование вектора - C++
В поставленной задаче нужно реализовать функцию, которой передаем вектор, где последующее в функции будет создан вектор, в котором будут...

copy_if - C++
Пусть у меня есть двумерный массив векторов, а также вектор, содержащий индексы тех строк массива, которые надо скопировать. Можно ли это...

Cформировать вектор B из матрицы по условию - C++
Дана матрица А размерностью N*N.Cформировать вектор B(N) компонентами которого являются суммы отрицательных элементов столбцов матрицы А.

Копирование файлов в папку по условию - C++
Дано два каталога(dir1, dir2), содержащих файлы *.txt и не содержащие подкаталогов. Наполнить третий каталог (RESULT): -для каждого...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
14.06.2014, 12:22     Копирование части вектора в другой вектор по условию, функцией copy_if #2
C++
1
2
3
4
5
std::copy_if(vTekCdelki.begin(),vTekCdelki.end(), vKopyCdelki.begin(),
  [&](const sCdelki* i_data)
    {
    return i_data->KodBumagi == _KodBumagi;
    });
Как-то так.
nmcf
5122 / 4442 / 1481
Регистрация: 14.04.2014
Сообщений: 17,629
14.06.2014, 12:22     Копирование части вектора в другой вектор по условию, функцией copy_if #3
Так, наверное:
C++
1
[](sCdelki *s) { return s->KodBumagi == "RIM4"; }
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 134
14.06.2014, 12:33  [ТС]     Копирование части вектора в другой вектор по условию, функцией copy_if #4
Спасибо второй вариант работает
Первый нет (((
Нужен первый вариант как его исправить?
nmcf
5122 / 4442 / 1481
Регистрация: 14.04.2014
Сообщений: 17,629
14.06.2014, 12:44     Копирование части вектора в другой вектор по условию, функцией copy_if #5
Что не устраивает-то? Константа?
Попробуй объявить _KodBumagi глобально и вставь в условие.
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 134
14.06.2014, 12:49  [ТС]     Копирование части вектора в другой вектор по условию, функцией copy_if #6
Да константа.
На практике мне придется компилировать plugin под каждый инструмент их сотни + через каждые 3 месяца((
если глобально то же не работает.
Yandex
Объявления
14.06.2014, 12:49     Копирование части вектора в другой вектор по условию, функцией copy_if
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru