C++ STL; (vector) подскажите как в интервале заменить элементы
ПРИМЕР: создали последовательность 1 2 3 4 5 6 7 8
ввожу интервал например от 2 по 5 заменить на 0
ВЫВОД: 1 2 0 0 0 7 8

16 Окт 2019 в 08:45
193 +1
0
Ответы
1

Для замены элементов в интервале можно воспользоваться методом std::fill из STL. Вот пример кода, который заменяет элементы в интервале от 2 до 5 на 0:

#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8};
// Интервал от 2 до 5
int start = 2;
int end = 5;
// Заменяем элементы на 0
std::fill(vec.begin() + start, vec.begin() + end + 1, 0);
// Выводим результат
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}

После выполнения данного кода вы получите результат:

1 2 0 0 0 6 7 8

Элементы в интервале от 2 до 5 заменены на 0.

19 Апр 2024 в 10:56
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир