Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2017, 17:38   #1
vladrrom
Пользователь
 
Регистрация: 14.12.2016
Сообщений: 54
По умолчанию Класс vector. Заменить все элементы в интервале [a,b] на x. - C++

Дана последовательность из n целых чисел. Занести их в вектор.
Заменить все элементы, попадающие в интервал [a,b] на x.
Вывод вектора на экран организовать в цикле по итераторам.

Помогите с кодом. Проверьте и скажите, что не так, пожалуйста.
Цитата:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

bool isLol(int x){
return (x > a && x < b);
}
int main(){
vector <int> v;
int n, a, b, x;
cout << "n= "; cin >> n;
cout << endl << "a,b= "; cin >> a; cin >> b;
for (int i = 0; i<n; i++)
{
cin >> x;
v.push_back(x);
}
replace_if(v.begin(), v.end(), isLol, 0);
for (vector <int>::iterator iter = v.begin(); iter < v.end(); iter++)
cout << *iter << ' ';
system("pause");
return 0;
}

Последний раз редактировалось vladrrom; 20.05.2017 в 17:50.
vladrrom вне форума Ответить с цитированием
Старый 20.05.2017, 18:08   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,711
По умолчанию

1. Заменяете на (a;b) вместо [a;b]
2. Заменяете на 0 вместо заданного х
3. Используете постфиксный инкремент для итератора в качестве шага цикла

Последний раз редактировалось p51x; 20.05.2017 в 18:37.
p51x вне форума Ответить с цитированием
Старый 21.05.2017, 16:21   #3
vladrrom
Пользователь
 
Регистрация: 14.12.2016
Сообщений: 54
По умолчанию

Спасибо
vladrrom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с программой в Паскале: заменить на 1 все элементы массива С1,С2....Сn находящиеся в интервале [1,2] kairr Помощь студентам 1 16.05.2017 09:38
[PASCAL ABC]: заменить все минимальные элементы на противоположные alchemistэ Помощь студентам 12 23.12.2015 13:37
Заменить все элементы строки левее минимального C# 803 Помощь студентам 2 20.10.2014 15:31
в массиве все максимальные элементы заменить первым элементом, а все минимальные элементы заменить последним элементом Валерия2701 Паскаль, Turbo Pascal, PascalABC.NET 1 12.10.2011 15:49
заменить нулем все элементы меньшие введенного числа Сашуня Паскаль, Turbo Pascal, PascalABC.NET 2 23.05.2011 22:18