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

Функция fill_n

Функция fill_n заполняет первые n элементов, начиная с указанного итератора, заданным значением. В первый параметр мы передаем итератор на начало заполняемого диапазона, во второй - количество элементов для заполнения, а в третий - значение, которым следует заполнить элементы.

Функция возвращает итератор, указывающий на элемент, следующий за последним заполненным. Для работы функции необходимо подключить заголовочный файл <algorithm>.

Синтаксис

fill_n(first, count, value)

Пример

Давайте заполним 3 элемента вектора, начиная с первого, значением 7:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; fill_n(vec.begin(), 3, 7); for (int el : vec) { cout << el << " "; } cout << endl; return 0; }

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

7 7 7 4 5

Пример

Давайте заполним 4 элемента массива, начиная со второго, символом 'x':

#include <iostream> #include <algorithm> using namespace std; int main() { char arr[] = {'a', 'b', 'c', 'd', 'e'}; fill_n(arr + 1, 4, 'x'); for (char el : arr) { cout << el << " "; } cout << endl; return 0; }

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

"a x x x x"

Пример

Функция возвращает итератор на элемент, следующий за последним заполненным. Давайте выведем значение этого элемента:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; auto it = fill_n(vec.begin(), 2, 9); cout << *it << endl; return 0; }

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

3

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

  • функция fill,
    которая заполняет весь диапазон заданным значением
  • функция copy_n,
    которая копирует указанное количество элементов
  • функция generate_n,
    которая заполняет элементы результатами функции
  • функция transform,
    которая применяет функцию к диапазону элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить