Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

14.06.2014, 12:10. Просмотров 712. Ответов 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 );
Помогите пожалуйста.
С уважением, Александр
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2014, 12:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Копирование части вектора в другой вектор по условию, функцией copy_if (C++):

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

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

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

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

Написать функцию, которая принимает А вектор как аргумент и возвращает три вектора разделяя А вектор на три части - Matlab
Есть А вектор A=... Написать функцию в Матлабе ,который принимает А вектор как аргумент и возвращает три вектора разделяя А вектор на...

Копирование части вектора - C++ Builder
Приветствую. Мне необходимо скопировать данные из одного вектора в другой: полностью все данные и частично. std::vector &lt;BYTE&gt; Src, Dst; ...

5
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
14.06.2014, 12:22 #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;
    });
Как-то так.
1
nmcf
5678 / 4989 / 1701
Регистрация: 14.04.2014
Сообщений: 20,350
14.06.2014, 12:22 #3
Так, наверное:
C++
1
[](sCdelki *s) { return s->KodBumagi == "RIM4"; }
1
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 141
14.06.2014, 12:33  [ТС] #4
Спасибо второй вариант работает
Первый нет (((
Нужен первый вариант как его исправить?
0
nmcf
5678 / 4989 / 1701
Регистрация: 14.04.2014
Сообщений: 20,350
14.06.2014, 12:44 #5
Что не устраивает-то? Константа?
Попробуй объявить _KodBumagi глобально и вставь в условие.
0
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 141
14.06.2014, 12:49  [ТС] #6
Да константа.
На практике мне придется компилировать plugin под каждый инструмент их сотни + через каждые 3 месяца((
если глобально то же не работает.
0
14.06.2014, 12:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2014, 12:49
Привет! Вот еще темы с ответами:

Копирование данных на другой лист по условию - MS Excel
Добрый день, уважаемые форумчане. Прошу помощи в решении следующего вопроса: Есть файл (во вложении), в котором существует огромный...

Пересылка элементов из вектора в другой вектор - Matlab
Добрый вечер, у меня такая задача, есть нулевой вектор a от 1 до 4 и вектор b из нулей и единиц 1:10 мне надо сделать что сначало...

Копирование содержимого ячейки на другой лист по условию - MS Excel
Привет великим гуру владеющим в совершенстве Excel. В программе не силен, поэтому вопрос глупый: Подскажите как решить вот такую задачу: в...

Копирование строк на другой лист книги по условию - MS Excel
Доброго дня! По моей теме уже было много вопросов и ответов, но я, очевидно, совсем тормоз, не могу это применить для себя. Есть...


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

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

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