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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Kriegehund
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 12
#1

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

01.10.2013, 18:17. Просмотров 1499. Ответов 3
Метки нет (Все метки)

Пишу сейчас покер для игры в одного человека, столкнулся с проблемой при создании колоды с помощью 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++;
    }
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2013, 18:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос random_shuffle случайное перемешивание (C++):

Случайное перемешивание элементов списка - C++
помогите с заданием не могу решить в классе список метод - Shuffle (случайное перемешивание элементов списка) Добавлено через 6...

Случайное перемешивание содержимого одномерного массива - C++
Здравствуйте. Подскажите пожалуйста как реализовать случайное перемешивание содержимого одномерного массива.

Random_shuffle при быстрой работе задает одни и те же значения - C++
Всем привет. Не буду долго объяснять всю задачу, постораюсь кратко, но понятно. Есть массив строк, который я перемешиваю используя...

Отсортированные по порядку случайно выбранные номера (целесообразность использования random_shuffle в задании) - C++
Задание звучит так: Карточка лотереи имеет нумерованные поля, из которых случайным образом выбирается определенное количество ...

Перемешивание массива - C++
как переписать мой код так чтоб программа печатала функцию несколько раз.и чтоб ответы Rand не совпадали с друг другом void...

Перемешивание слов в файле - C++
Всем привет :) Мне требуется написать программу, которая формирует текстовый файл на основе двух заданных путем &quot;перемешивания&quot; слов этих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
01.10.2013, 18:31 #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  [ТС] #3
Класс, и как мне тогда создать колоду которая принимает значения масти и номинала????
Если vector list и deque добавляют по одному элементу.
Croessmah
Модератор
Эксперт CЭксперт С++
13147 / 7410 / 830
Регистрация: 27.09.2012
Сообщений: 18,244
Записей в блоге: 3
Завершенные тесты: 1
01.10.2013, 22:18 #4
Цитата Сообщение от Kriegehund Посмотреть сообщение
Если vector list и deque добавляют по одному элементу.
хранить пару значений
C++
1
std :: vector < std :: pair < std :: string , int > >
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2013, 22:18
Привет! Вот еще темы с ответами:

Перемешивание двухмерного массива - C++
Подскажите как можно перемешать двухмерный массив таким образом , чтобы он в цикле по строкам и столбцам массива перебирал элементы массива...

Перемешивание двумерного массива - C++
Помогите! Не могу додуматься, как перемешать двумерный массив, интернет уже весь перелопатил, так толкового ничего и не нашел. Срочно...

Перемешивание списка фамилий - C++
Есть список участников забега, допустим 10 фамилий. мне надо, случайно определить кто выйдет на старт 1, кто вторым, и т.д. Т.е вводим...

Перемешивание элементов массива случайным образом - C++
Здравствуйте. Помогите написать функцию, которая рандомно перемешивает элементы массива. void PeremeshivanieMassiva(int m); void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.10.2013, 22:18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru