#include <iostream>
#include <list>
#include <algorithm>
#include <iterator>
int main()
{
using namespace std;
// размеры массивов
const size_t long_size = 10;
const size_t short_size = 5;
// инициализация
ostream_iterator<int, char> out(cout, " ");
int long_arr[long_size] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int short_arr[short_size] = {20, 30, 40, 50, 60};
list<int> Long(long_arr, long_arr + long_size);
list<int> Short(short_arr, short_arr + short_size);
// вывод исходных данных
cout << "Long list:\n";
copy(Long.begin(), Long.end(), out);
cout << "\nShort list:\n";
copy(Short.begin(), Short.end(), out);
// ввод пользователем значения элемента для поиска
cout << "\nEnter element's value: ";
int val;
cin >> val;
// поиск первого вхождения
list<int>::iterator it;
it = find(Long.begin(), Long.end(), val);
if (it == Long.end())// если элемент не найден - выход
{
cout << "Element with value = " << val << " not found\n";
return 0;
}
// вставка элементов Short в позицию после найденной
Long.insert(++it, Short.begin(), Short.end());
// вывод результата
cout << "Long list:\n";
copy(Long.begin(), Long.end(), out);
cout << endl;
return 0;
}
Помогите пожалуйста сделать лабу)))
Сформировать динамический список (стек или очередь), считая, что длина списка (количество элементов) задана.
В составе программы описать функцию, которая вставляет в список Long за первым вхождением элемента I, значение которого введено с клавиатуры, все элементы списка Short, если I входит в Long.
[COLOR="Red"]Правила читать! Следующий раз за такое название, тему удалю, а автору бан на неделю. [/COLOR] модератор.
Вот мой вариант решения задачи №2 с использованием стандартной библиотеки: