Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <string>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int x;
- //создаю буловскую функцию, проверяющую кратность числа на x
- bool isMulX(int val) {
- return val % x == 0;
- }
- //создаю буловскую функцию, проверяющую четность числа
- bool isOdd(int val) {
- return val % 2 != 0;
- }
- //вывожу полученный результат
- void printVector(vector<int> v) {
- for (int i = 0; i < v.size(); i++) {
- cout << v[i] << " ";
- }
- cout << endl;
- }
- int main() {
- setlocale(LC_ALL, "Russian");
- //кол-во элементов
- int n;
- cin >> n;
- //создаю вектор размерности n
- vector<int> v = vector<int>(n);
- //считываю элементы
- for (int i = 0; i < n; i++) {
- cin >> v[i];
- }
- //удаляю элементы кратные x
- v.erase(remove_if(v.begin(), v.end(), isMulX), v.end());
- printVector(v);
- //нахожу максимальный элемент
- int max_el = *max_element(v.begin(), v.end());
- //вставляю после каждого из максимальных элементов новый элемент
- for (int i = 0; i < v.size(); i++) {
- if (v[i] == max_el) {
- v.insert(v.begin() + i + 1, max_el - 1);
- }
- }
- //вызываю функцию вывода
- printVector(v);
- //нахожу минимальный элемент
- int min_el = *min_element(v.begin(), v.end());
- //заменяю нечетные элементы минимальными
- replace_if(v.begin(), v.end(), isOdd, min_el);
- //вызываю функцию вывода
- printVector(v);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement