Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2011, 22:38   #1
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию Поиск в векторе stl

Всем привет.
Класс Base
В private есть перпеменные surname и number;

я создаю несколько объектов класса Base и кидаю их в вектор ( vector<Base> temp)

теперь вопрос. как я могу осуществить поиск, к примеру по number?
Примечание:С помощью алгоритмов поиска стандартной библиотеки шаблонов (STL) организовать поиск по контейнеру по заданному критерию.
Blad47 вне форума Ответить с цитированием
Старый 13.04.2011, 22:54   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

владеете английским?
Поиск в векторе
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 14.04.2011, 00:07   #3
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию

Владею, читал.

Как мне осуществить поиск по определенному параметру объекта?
Blad47 вне форума Ответить с цитированием
Старый 14.04.2011, 06:02   #4
malinoff
Форумчанин
 
Аватар для malinoff
 
Регистрация: 08.01.2010
Сообщений: 205
По умолчанию

Код:
#include <algorithm>
...
Base elem;
find(temp.begin(),temp.end(),elem)
Как-то так.
Если помог - кликни на значок весов под аватаром.
malinoff вне форума Ответить с цитированием
Старый 14.04.2011, 11:04   #5
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию

Цитата:
Сообщение от malinoff Посмотреть сообщение
Код:
#include <algorithm>
...
Base elem;
find(temp.begin(),temp.end(),elem)
Как-то так.
не получится так. мне нужно искать среди определенной переменной объекта.
я кинул в паблик переменную number и пытался обратиться так

find(temp.number.begin(),temp.numbe r.end(),elem)
но так не работает
Blad47 вне форума Ответить с цитированием
Старый 15.04.2011, 12:55   #6
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию

Сделал сам, очень интересным образом, перегрузив операцию == для того чтобы правильно работала ф-я find.
Если кому интересно, могу выложить.
==================

ф-я find возвращает интертор на элемент, который равен значению , по которому был поиск.
Не пойму, что делать, если find ничего не находит? Как вывести об этом сообщение?
Спасибо.
Blad47 вне форума Ответить с цитированием
Старый 15.04.2011, 14:05   #7
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

ну, если find всегда что-то возвращает, то просто сравниваете find и искомый элемент
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 15.04.2011, 14:22   #8
malinoff
Форумчанин
 
Аватар для malinoff
 
Регистрация: 08.01.2010
Сообщений: 205
По умолчанию

Цитата:
Сообщение от kaljan775 Посмотреть сообщение
ну, если find всегда что-то возвращает, то просто сравниваете find и искомый элемент
find возвращает итератор, только если искомый элемент был найден, думал сравнивать с NULL, не получится.
Сравнивать не find и элемент,а *find и элемент.
Если помог - кликни на значок весов под аватаром.
malinoff вне форума Ответить с цитированием
Старый 15.04.2011, 15:14   #9
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию

Цитата:
Сообщение от malinoff Посмотреть сообщение
find возвращает итератор, только если искомый элемент был найден, думал сравнивать с NULL, не получится.
Сравнивать не find и элемент,а *find и элемент.
Не совсем догнал, что с чем сравнивать?
если элемент не был найден в find-e , что он возвращает?
Blad47 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STL в QT конфликтует с STL в Borland nvrrus C++ Builder 0 31.03.2011 10:51
stl,Поиск Определителя матриц и решение линейных уравнений. igsxor Общие вопросы C/C++ 0 19.03.2011 21:52
Алгоритм по нахождению цепи в векторе. DarkWishMaster Паскаль, Turbo Pascal, PascalABC.NET 3 09.12.2010 18:21
алгоритм search, поиск в векторе ссылочных переменных the_deer_one Общие вопросы C/C++ 13 04.09.2010 21:10
Поиск в векторе. the_deer_one Общие вопросы C/C++ 3 31.08.2010 17:52