0 / 0 / 1
Регистрация: 30.03.2015
Сообщений: 12
1

Перетасовка карт в 52 листа

25.11.2015, 08:23. Показов 2128. Ответов 1
Метки нет (Все метки)

Имитировать перетасовку ново колоды игральных карт в 52 листа многократным приминением операций сдвига и "врезки" так, чтобы никакие две рядом лежашие карты не сохраняли бы свой первоначальный порядок. Операция врезки состоит в делении колоды на 2 подколоды и слияния частей случайного объема, взятых из обоих подколод.

Вот задача. помогите решить. я не могу понять как решить это. и каким должен быть интерфейс.
у меня платформа MS Visual Studio 2013
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2015, 08:23
Ответы с готовыми решениями:

Из колоды карт в листа вынимают 6 карт, вычислить вероятность , что вынуты все шестёрки и две дамы
Из колоды карт в листа вынимают 6 карт, вычислить вероятность , что вынуты все шестёрки и две дамы

Колода карт из 36 карт, сколькими способами можно достать 5 карт?
Колода карт из 36 карт. Сколькими способами можно достать 5 карт так, чтобы среди них были пиковые...

Из колоды карт (36 карт) наудачу берут пять карт
Здравствуйте! С теорией вероятностей всегда имел проблему, не могу никак сообразить. Задание такое:...

Перетасовка колоды
Хочу попробовать написать какой-нибудь пасьянс или карточную игру на PascalABC.NET. Подскажите,...

1
0 / 0 / 1
Регистрация: 30.03.2015
Сообщений: 12
11.12.2015, 18:46  [ТС] 2
Лучший ответ Сообщение было отмечено infamous son как решение

Решение

в общем задачу решил таким образом. в консоли. представим 52 листа карт числами.

вот код
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
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    int a[52];
    cout << "исходный массив" << endl;
    for (int i = 1; i < 53; ++i)
    {
        a[i] = i;
        cout << a[i] << " ";
    }
    cout << endl;
    cout << endl;
    for (size_t i = 1; i < 53; ++i) 
    {
       swap(a[i], a[rand() % 52]);
    }
    cout << " перетасованный массив" << endl;
    for (int i = 1; i < 53; ++i)
    {
    cout << a[i] << " ";
    }
 system("pause>>null");
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2015, 18:46
Помогаю со студенческими работами здесь

Перетасовка объектов на форме
Здравствуйте! Нужно чтобы при каждом запуске программы, три чекбокса меняли своё положение. Как...

Перетасовка объектов на форме
Здравствуйте! Нужно чтобы при каждом запуске программы, три чекбокса меняли своё положение. Как...

Перетасовка двух коллекций в третью
Привет, есть две коллекции A и B в коллекциях есть разные элементы (значения в коллекциях не имеет...

Тест, перетасовка вопросов и самих ответов в вопросах
Здравствуйте, объясните как сделать так, чтобы при запуске теста вопросы меняли свой порядок...

Сколькими способами из колоды 36 карт можно выбрать неупорядоченный набор из 5 карт
Сколькими способами из колоды 36 карт можно выбрать неупорядоченный набор из 5 карт так, чтобы в...

Сколькими способами из колоды в 36 карт можно выбрать неупорядоченный набор из 5 карт?
Здравствуйте, можете помочь с этим заданием? Сколькими способами из колоды в 36 карт можно выбрать...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru