Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите пожалуйста сделать лабу)))

51K
18 октября 2009 года
smlenchik
5 / / 18.10.2009
С++
Сформировать динамический список (стек или очередь), считая, что длина списка (количество элементов) задана.

В составе программы описать функцию, которая вставляет в список Long за первым вхождением элемента I, значение которого введено с клавиатуры, все элементы списка Short, если I входит в Long.

[COLOR="Red"]Правила читать! Следующий раз за такое название, тему удалю, а автору бан на неделю. [/COLOR] модератор.
20K
19 октября 2009 года
sem2711
124 / / 23.09.2009
Вот мой вариант решения задачи №2 с использованием стандартной библиотеки:
Код:
#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;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог