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

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

Войти
Регистрация
Восстановить пароль
 
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
#1

STL алгоритм find, найти элементы - C++

03.06.2013, 22:44. Просмотров 451. Ответов 1
Метки нет (Все метки)

Здраствуйте! У меня есть например массив vector<int> mas = {1,2,3,4,4,4,5,6};
Найти надо элемент 4, но find ищет только первый этот элемент в массиве, а мне надо что бы он нашёл все элементы 4. и вывести их позиции.

C++
1
2
3
4
5
6
7
8
9
10
void masuv::search(int a)
{
    vector<int>::iterator it;
    it = find(mas.begin(), mas.end(), a);
    
    if (it == mas.end())
        cout<<"Такого елемента в массиве нету!"<<endl;
    else 
        cout<<"Елемент "<<*it<<" существует. "<<"Его номер: "<<it-mas.begin()+1<<endl; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 22:44     STL алгоритм find, найти элементы
Посмотрите здесь:

C++ Нужно найти ошибку в STL
оператор find в stl C++
Организовать find в векторе через STL!!! C++
Алгоритм замещения страниц LRU с помощью методов библиотеки STL C++
STL find C++
C++ STL. Алгоритм copy()
C++ STL. Алгоритм find(). Игнорировать регистр
Алгоритм STL C++
C++ Find() для поиска элемента в поле класса / STL
Алгоритмы STL. Дана последовательность целых чисел. Удалить из массива все максимальные элементы C++
C++ Упорядочить элементы массивов в порядке убывания целой части STL
Std::move stl-алгоритм C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
03.06.2013, 22:52     STL алгоритм find, найти элементы #2
C++
1
2
3
4
5
    vector<int> v {1, 2, 3, 3, 3, 4, 5};
    int val = 3;
    auto it = begin(v);
    while ( (it = find(it, end(v), val)) != end(v) )
        cout << distance(begin(v), it++) << ' ';
Yandex
Объявления
03.06.2013, 22:52     STL алгоритм find, найти элементы
Ответ Создать тему
Опции темы

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