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

Функция replace_if

Функция replace_if заменяет все элементы в диапазоне, для которых предикат возвращает true, на новое значение. Первым параметром функция принимает итератор начала диапазона, вторым - итератор конца диапазона, третьим - унарный предикат, а четвёртым - новое значение, которым следует заменить подходящие элементы.

Синтаксис

replace_if(first, last, pred, new_value)

Пример

Давайте заменим все чётные числа в векторе на число 0:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; replace_if(vec.begin(), vec.end(), [](int x) { return x % 2 == 0; }, 0); for (int x : vec) { cout << x << " "; } cout << endl; return 0; }

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

1 0 3 0 5

Пример

Давайте заменим все символы 'a' в строке на символ 'x':

#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string str = "abcde"; replace_if(str.begin(), str.end(), [](char c) { return c == 'a'; }, 'x'); cout << str << endl; return 0; }

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

"xbcde"

Пример

Давайте заменим все числа, большие 3, в векторе на число 9:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; replace_if(vec.begin(), vec.end(), [](int x) { return x > 3; }, 9); for (int x : vec) { cout << x << " "; } cout << endl; return 0; }

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

1 2 3 9 9

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

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