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

random_shuffle случайное перемешивание - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Kriegehund
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 12
01.10.2013, 18:17     random_shuffle случайное перемешивание #1
Пишу сейчас покер для игры в одного человека, столкнулся с проблемой при создании колоды с помощью multimap.
Записал в массив 52 карты, и хотел их перемешать с использованием random_shuffle. Но чет не получилось.
Вот код, помогите решить проблему, ли бо посоветуйте как лучше создать колоду в которую я записываю и масть и номинал.
Вот код который я набирал:
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
#include<iostream>
#include<map>
#include <algorithm> 
using namespace std;
void main()
{   
    char suit;
    int number;
    multimap<char,int>mas;
    
    multimap<char,int>::iterator p;
    
    for(suit = 3; suit<7; suit++)
    {
        for(number = 2; number < 15; number++)
        {
            pair<int,int>el1(suit,number);
            mas.insert(el1);
        }
    }
    random_shuffle(mas.begin(),mas.end());
    p=mas.begin();
    while(p!=mas.end())
    {
    cout<<p->first<<"\t"<<p->second<<endl;
    p++;
    }
 
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
01.10.2013, 18:31     random_shuffle случайное перемешивание #2
Ну как бы очевидно, что std::set, std::multiset, std::map, std::multimap всегда упорядочены by design. Используйте другие контейнеры, std::deque Вам наверняка хватит.
Kriegehund
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 12
01.10.2013, 19:21  [ТС]     random_shuffle случайное перемешивание #3
Класс, и как мне тогда создать колоду которая принимает значения масти и номинала????
Если vector list и deque добавляют по одному элементу.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
01.10.2013, 22:18     random_shuffle случайное перемешивание #4
Цитата Сообщение от Kriegehund Посмотреть сообщение
Если vector list и deque добавляют по одному элементу.
хранить пару значений
C++
1
std :: vector < std :: pair < std :: string , int > >
Yandex
Объявления
01.10.2013, 22:18     random_shuffle случайное перемешивание
Ответ Создать тему
Опции темы

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