Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Контейнеры и функция copy()  (Прочитано 493 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Scot_Tenorman

  • Автор темы
  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Контейнеры и функция copy()
« : 12 Февраля 2012, 20:58:35 »
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
int main()
{
set<string, less<string> > a;
  set<string, less<string> > b;
  a.insert("January");
  a.insert("February");
  a.insert("March");
  a.insert("April");
  a.insert("May");
  a.insert("June");
  a.insert("July");
  a.insert("August");
  string lower, upper;
  lower="Au";
  upper="M";
 copy(a.lower_bound(lower), a.upper_bound(upper),  b.begin());
 set<string, less<string> >::iterator iter1;
 iter1=a.begin();
 while(iter1!=a.end())
  cout<<*iter1++<<" ";
 cout<<endl;
set<string, less<string> >::iterator iter2;
 iter2=b.begin();
 while(iter1!=b.end())
  cout<<*iter1++<<" ";
 cout<<endl;
 return 0;
}
Хочу содержимое множества a, скопировать в содержимое множества b. Естественно возникает куча ошибок.
Т.е. возникает проблема как передать в функцию copy() начало множества b. Как решить эту проблему?

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Контейнеры и функция copy()
« Ответ #1 : 13 Февраля 2012, 08:56:40 »
Код: (CPP) [Выделить]
#include <iterator>
#include <cstdlib>
#include <set>

int main()
{
    std::set<int> s1;
    std::set<int> s2;
   
    std::copy( s1.begin(), s1.end(), std::inserter( s2, s2.begin() ) );
    return 0;
}

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.