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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2009, 14:52   #1
napanin
Пользователь
 
Регистрация: 07.06.2009
Сообщений: 12
По умолчанию Последовательный контейнер list.

задание на С++

Из входной последовательности целых чисел построить list.
Удалить из list'a элементы, содержащие отрицательные чётные числа.
Сформировать новый list из этих удалённых элементов.
Добавить новый list между первым и вторым элементом исходного list'a.

это код:

Код:
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
bool check (int a)
	{return a<0 && a%2 == 0; }
bool check2 (int a)
	{return !(a<0 && a%2 == 0); }
void main()
{    	
	int A[10]={-5, 7,-6,8,-77,12,-66,100,-4,11};
	list<int>list1(A,A+10);

  list<int> list2(list1.size());

  cout<<"List 1: ";
  copy(list1.begin(),list1.end(),ostream_iterator<int>(cout, ", "));
  cout<<endl; 
  cout<<"Razmer Lista 2: "<<list2.size()<<endl;
  cout<<"List 2: ";
  copy(list2.begin(),list2.end(),ostream_iterator<int>(cout, ", "));
  cout<<endl;
  cout<<endl;
 
  list<int>::iterator l = remove_copy_if (list1.begin(),list1.end(),list2.begin(),check2);//(откуда, до куда, куда, критерий)
 vector2.erase(l,list2.end());
  cout<<endl;
  cout<<"List 1: ";
   copy(list1.begin(),list1.end(),ostream_iterator<int>(cout, ", "));
   cout<<endl;
   cout<<"Razmer Lista 2: "<<list2.size()<<endl;
   cout<<"List 2: ";
   copy(list2.begin(),list2.end(),ostream_iterator<int>(cout, ", "));
   cout<<endl;
  

  list<int>::iterator t =  remove_if(list1.begin(),list1.end(),check);
  vector1.erase(t,list1.end());

   cout<<endl;
   cout<<"Razmer Lista 1: "<<list1.size()<<endl;
   cout<<"List 1: ";
   copy(list1.begin(),list1.end(),ostream_iterator<int>(cout, ", "));
   cout<<endl;
   cout<<"Razmer Lista 2: "<<list2.size()<<endl;
   cout<<"List 2: ";
   copy(list2.begin(),list2.end(),ostream_iterator<int>(cout, ", "));
   cout<<endl;

   cout<<endl;
   vector1.insert(list1.begin()+1,list2.begin(),list2.end());


   cout<<"List 1: ";
   copy(list1.begin(),list1.end(),ostream_iterator<int>(cout, ", "));
   cout<<endl;
   cout<<"Razmer Lista 2: "<<list2.size()<<endl;
   cout<<"List 2: ";
   copy(list2.begin(),list2.end(),ostream_iterator<int>(cout, ", "));
   cout<<endl;
   

}
выдаёт ошибки в insert!
в чём заключаются ошибки?

Последний раз редактировалось napanin; 21.10.2009 в 15:38.
napanin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контейнер ! curtcobain Общие вопросы Delphi 3 04.02.2009 20:27
OLE-контейнер Flyer БД в Delphi 6 28.08.2007 16:27
ассоциативный контейнер SERGOO Общие вопросы C/C++ 4 17.06.2007 11:05