Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 3
Регистрация: 06.10.2013
Сообщений: 167
1

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

14.06.2014, 12:10. Показов 1969. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2014, 12:10
Ответы с готовыми решениями:

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

Копирование части вектора
Приветствую. Мне необходимо скопировать данные из одного вектора в другой: полностью все данные и...

Как разбить вектор на части(то есть вектора того же типа)
Как разбить вектор на части(то есть вектора того же типа), чтобы было по 8 элементов в каждом...

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

5
347 / 292 / 37
Регистрация: 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
7031 / 6054 / 2751
Регистрация: 14.04.2014
Сообщений: 25,922
14.06.2014, 12:22 3
Так, наверное:
C++
1
[](sCdelki *s) { return s->KodBumagi == "RIM4"; }
1
2 / 2 / 3
Регистрация: 06.10.2013
Сообщений: 167
14.06.2014, 12:33  [ТС] 4
Спасибо второй вариант работает
Первый нет (((
Нужен первый вариант как его исправить?
0
7031 / 6054 / 2751
Регистрация: 14.04.2014
Сообщений: 25,922
14.06.2014, 12:44 5
Что не устраивает-то? Константа?
Попробуй объявить _KodBumagi глобально и вставь в условие.
0
2 / 2 / 3
Регистрация: 06.10.2013
Сообщений: 167
14.06.2014, 12:49  [ТС] 6
Да константа.
На практике мне придется компилировать plugin под каждый инструмент их сотни + через каждые 3 месяца((
если глобально то же не работает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2014, 12:49

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

Копирование строк из таблицы на другой лист по условию
Доброй ночи! Помогите. Нужно чтобы автоматом происходило копирование строк из одного листа в...

Копирование данных с одного листа на другой по условию
Задача нужно переносить данные с Лист1 из разных книг(таких книг около 300) в одну сводную таблицу....

Копирование ячеек с одного листа на другой по условию
Добрый день! Суть задачи: есть 2 листа по 3 столбца (A,B,C). Нужно скопировать содержимое со 2...


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

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

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