РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
360 of 815 menu

Функция search_n

Функция search_n ищет в диапазоне последовательность из заданного количества одинаковых элементов. В первый параметр мы передаем итератор начала диапазона, во второй - итератор конца диапазона, в третий - количество одинаковых элементов, в четвертый - значение, которое нужно найти, а в пятый - функцию сравнения.

Синтаксис

search_n(first, last, count, value, [pred])

Пример

Давайте найдем в массиве последовательность из 3 одинаковых чисел 2:

#include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { vector<int> v = {1, 2, 2, 2, 3, 4, 5}; auto res = search_n(v.begin(), v.end(), 3, 2); if (res != v.end()) { cout << "Found at position: " << (res - v.begin()) << endl; } else { cout << "Not found" << endl; } return 0; }

Результат выполнения кода:

"Found at position: 1"

Пример

Давайте попробуем найти в массиве последовательность из 3 одинаковых чисел 7, которых в нем нет:

#include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { vector<int> v = {1, 2, 2, 2, 3, 4, 5}; auto res = search_n(v.begin(), v.end(), 3, 7); if (res != v.end()) { cout << "Found at position: " << (res - v.begin()) << endl; } else { cout << "Not found" << endl; } return 0; }

Результат выполнения кода:

"Not found"

Пример

Давайте найдем в массиве последовательность из 2 одинаковых чисел 4 и выведем само найденное значение:

#include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { vector<int> v = {1, 2, 2, 2, 3, 4, 4, 5}; auto res = search_n(v.begin(), v.end(), 2, 4); if (res != v.end()) { cout << "Value: " << *res << endl; cout << "Position: " << (res - v.begin()) << endl; } else { cout << "Not found" << endl; } return 0; }

Результат выполнения кода:

"Value: 4" "Position: 5"

Смотрите также

  • функция search,
    которая ищет первую последовательность элементов в диапазоне
  • функция find,
    которая ищет первый элемент с заданным значением
  • функция count,
    которая считает количество элементов с заданным значением
  • функция find_end,
    которая ищет последнюю последовательность элементов в диапазоне
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить