Вперед Зміст

Задачі на вставлення декількох елементів з використанням циклу та функції insert

Приклад

Використовуючи функції написати таку програму:

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;

// Прототипи функцій
void RandVect(vector<int>& v, int n, int a, int b);
void PrintVect(const vector<int>& v);

int main() {
    // Ініціалізація генератора випадкових чисел
    srand(time(0));

    // Введення параметрів
    int a, b, n;
    cout << "Введіть мінімальне значення (a): ";
    cin >> a;
    cout << "Введіть максимальне значення (b): ";
    cin >> b;
    cout << "Введіть кількість елементів (n): ";
    cin >> n;

    // Створення та заповнення вектора
    vector<int> vect;
    RandVect(vect, n, a, b);

    // Виведення початкового вектора
    cout << "Початковий вектор: ";
    PrintVect(vect);

    // Вставка 100 перед кожним від'ємним елементом
    for (auto it = vect.begin(); it != vect.end(); ++it) {
        if (*it < 0) {
            it = vect.insert(it, 100); // Вставка 100 перед від'ємним
            ++it; // Пропускаємо вставлений елемент
        }
    }

    // Виведення зміненого вектора
    cout << "Змінений вектор: ";
    PrintVect(vect);

    return 0;
}

// Функція заповнення вектора випадковими числами
void RandVect(vector<int>& v, int n, int a, int b) {
    v.resize(n);
    for (int i = 0; i < n; ++i) {
        v[i] = a + rand() % (b - a + 1);
    }
}

// Функція виведення вектора
void PrintVect(const vector<int>& v) {
    for (int num : v) {
        cout << num << " ";
    }
    cout << endl;
}

Пояснення роботи програми:

  1. Введення параметрів: Користувач вводить діапазон [a, b] та кількість елементів n.
  2. Генерація вектора: Функція RandVect заповнює вектор випадковими числами.
  3. Виведення вектора: Функція PrintVect показує початковий вектор.
  4. Вставка елементів:
    • Перебираємо вектор за допомогою ітератора
    • Для кожного від'ємного елемента вставляємо 100 перед ним
    • Збільшуємо ітератор, щоб пропустити вставлений елемент
  5. Виведення результату: Показує вектор після вставки всіх 100.

Приклад роботи програми:


Введіть мінімальне значення (a): -5
Введіть максимальне значення (b): 5
Введіть кількість елементів (n): 8
Початковий вектор: 2 -3 4 0 -1 5 -2 1
Змінений вектор: 2 100 -3 4 0 100 -1 5 100 -2 1

Ключові особливості:

Завдання

Для всіх варіантів:

Варіанти задач

  1. Вставити число В після кожного парного числа вектору.
  2. Вставити число В перед кожним додатним числом вектору.
  3. Вставити число В у вектор після кожного числа, яке більше числа 20.
  4. Вставити число В у вектор перед кожним числом, яке закінчується на цифру 1.
  5. Вставити число В після всіх максимальних чисел вектору.
  6. Вставити число В перед всіма мінімальними числами вектору.
  7. Вставити число В після кожного числа, яке закінчується на 3.
  8. Вставити число В у вектор перед кожним числом, яке кратне 3 або 5.
  9. Вставити число В у вектор після кожного числа, яке кратне числу Х та закінчується на цифру С.
  10. Вставити число В у вектор після кожного числа, сума цифр якого дорівнює Х. Додатково використовувати функцію SumDig.
  11. Вставити число В у вектор після кожного числа, в запису якого є цифра 5. Додатково використовувати функцію NumDigCofA.
  12. Вставити число В у вектор перед кожним числом, у якого перша цифра дорівнює С. Додатково використовувати функцію FirstDig.
  13. Вставити число В у вектор після кожного числа, яке складається з однакових цифр (включаючи однозначні). Додатково використовувати функції NumDig та NumDigCofA.
  14. Вставити число В у вектор після кожного простого числа. Додатково використовувати функцію IsPrime.
  15. Вставити число В у вектор після кожного числа, у якого цифри розташовані за спаданням (321, 52). Додатково використовувати написану функцію IsDesc.
  16. Вставити число В у вектор перед кожним числом Фібоначчі. Додатково використовувати функцію IsFib.
  17. Вставити число В у вектор перед кожним числом, яке починається та закінчується однаковими цифрами (окрім однозначних). Додатково використовувати функцію FirstDig.

Вперед Зміст