Форум программистов, компьютерный форум CyberForum.ru

STL vector превратить в stack - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Arl
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 22
27.12.2010, 01:56     STL vector превратить в stack #1
Всем привет! немогли бы вы помочь с таким заданием по STL
Построить вектор "колода карт". превратить вектор в стэк, прежде "перетасовав" его..

У меня пока только есть первое предложение
не могу понять, каким образом можно превратить и перетасовать...


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
struct Card
{
 Card(string m, int r);
 bool operator < (const Card &Other)const;
 string mast;
 int rang;
};
    Card::Card(string m, int r)
    {
      mast=m;
      rang=r;
    }
 
bool Card::operator < (const Card &Other) const
{
    return (this->rang < Other.rang);
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    vector<Card> cards;
 
for (int i=0; i<9; i++)
    cards.push_back(Card("spades",6+i));
for (int i=0; i<9; i++)
    cards.push_back(Card("clubs",6+i));
for (int i=0; i<9; i++)
    cards.push_back(Card("diamond",6+i));
for (int i=0; i<9; i++)
    cards.push_back(Card("hearts",6+i));
 
 
    sort(cards.begin(),cards.end());
    for(int i = 0;i<cards.size();++i)
        cout<<cards[i].mast.c_str()<<' '<<cards[i].rang<<endl;
 
    getchar();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2010, 01:56     STL vector превратить в stack
Посмотрите здесь:

C++ Как работать с STL stack
C++ STL stack
Как сделать stl::stack полем класса C++
C++ Есть ли связь между STL-stack и stack - высокопроизводительная память?
реализация stack и dack в STL C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
27.12.2010, 02:32     STL vector превратить в stack #2
Arl, Превратить - перекинуть в стек объекты. Перетасовать std::random_shuffle
Arl
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 22
28.12.2010, 13:29  [ТС]     STL vector превратить в stack #3
спасибо!
но у меня не работает эта строка, не знаю почему и не могу исправить((

C++
1
cout<<st_cards.top();
выдает ошибку:
error C2679: бинарный '<<': не найден оператор, принимающий правый операнд типа 'Card' (или приемлемое преобразование отсутствует)


как это исправить, помогите, пожалуйста!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.12.2010, 14:29     STL vector превратить в stack #4
Arl, Перегрузить оператор вывода в поток для класса Card.

Пример.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Class
{
public:
   Class():a(0)
   {
   }
   int GetA() const
   {
       return a;
   }
private:
   int a;
};
 
std::ostream& operator <<(std::ostream& os, const Class& one)
{
    os<<one.GetA()<<'\n';
    return os;
}
Arl
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 22
28.12.2010, 14:41  [ТС]     STL vector превратить в stack #5
боже, какие у меня тупые ошбики!! ForEveR, вы меня спасаете! спасибо)
Yandex
Объявления
28.12.2010, 14:41     STL vector превратить в stack
Ответ Создать тему
Опции темы

Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru