Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 27.11.2021
Сообщений: 1

Создание колоды из 24 карт

28.11.2021, 17:43. Показов 1602. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день, нужно создать колоду из 24 карт, состоящих из 9,10, валета,дамы, короля и туза.
выводит только 9-12, подскажите пожалуйста в чем ошибка.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
enum Suit { clubs, diamonds, hearts, spades };
// от 9 до 10 обычные числа
const int jack = 11;
const int queen = 12;
const int king = 13;
const int ace = 14;
/////////////////////////////////////////////////////////////
class card
{
private:
    int number;
    Suit suit;
public:
    card() // конструктор
    { }
    void set(int n, Suit s) // установка значения
    {
        suit = s; number = n;
    }
    void display();          // показ карты
};
/////////////////////////////////////////////////////////////
void card::display()
{
    if (number >= 9 && number <= 14)
        cout << number;
    else
    {
        switch (number)
        {
        case jack: cout << 'J'; break;
        case queen: cout << 'Q'; break;
        case king: cout << 'K'; break;
        case ace: cout << 'A'; break;
        }
    }
    switch (suit)
    {
    case clubs: cout << static_cast<char>(5); break;
    case diamonds: cout << static_cast<char>(4); break;
    case hearts: cout << static_cast<char>(3); break;
    case spades: cout << static_cast<char>(6); break;
    }
}
/////////////////////////////////////////////////////////////
int main()
{
    card deck[24];
    int j;
 
    cout << endl;
    for (j = 0; j < 24; j++)   // создаем упорядоченную колоду карт
    {
        int num = (j % 6) + 7;
        Suit su = Suit(j / 6);
        deck[j].set(num, su);
    }
    // показываем исходную колоду
    cout << "isxodnaya coloda:\n";
    for (j = 0; j < 24; j++)
    {
        deck[j].display();
        cout << "  ";
        if (!((j + 1) % 6)) 
            cout << endl;
    }
    srand(time(NULL));     // инициализируем генератор случайных чисел
    for (j = 0; j < 24; j++)
    {
        int k = rand() % 24;     // выбираем случайную карту
        card temp = deck[j];    // и меняем ее с текущей
        deck[j] = deck[k];
        deck[k] = temp;
    }
    // показываем перемешанную колоду
    cout << "\n peremeshannaya coloda:\n";
    for (j = 0; j < 24; j++)
    {
        deck[j].display();
        cout << "  ";
        if (!((j + 1) % 6)) 
            cout << endl;
    }
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.11.2021, 17:43
Ответы с готовыми решениями:

Написать функцию случайного выбора 6 карт из колоды 36 карт, используя структуры. с++
Вот начало кода #include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; struct card { int color = 1 + rand() % 2;...

Сколькими способами из колоды (36 карт) можно выбрать неупорядоченный набор из 6 карт, удовлетворяющих условию
Сколькими способами из колоды 36 карт можно выбрать неупорядоченный набор из 6 карт, чтобы в этом наборе было бы точно: 2 дамы, 1 туз, 2...

Класс колоды карт и карты
помогите найти ошибку не компелируется! #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;locale&gt; using...

1
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
29.11.2021, 06:55
Цитата Сообщение от Yanka_1608y Посмотреть сообщение
выводит только 9-12, подскажите пожалуйста в чем ошибка.
Цитата Сообщение от Yanka_1608y Посмотреть сообщение
int num = (j % 6) + 7;
В строке 59 заменяйте число 7 на 9.
C++
1
int num = (j % 6) + 9;

------------------
И можно переделать метод display() (думаю, что это будет лучше):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void card::display()
{
    switch (number)
    {
    case 9: cout << 9; break;
    case 10: cout << 10; break;
    case jack: cout << 'J'; break;
    case queen: cout << 'Q'; break;
    case king: cout << 'K'; break;
    case ace: cout << 'A'; break;
    }
    switch (suit)
    {
    case clubs: cout << static_cast<char>(5); break;
    case diamonds: cout << static_cast<char>(4); break;
    case hearts: cout << static_cast<char>(3); break;
    case spades: cout << static_cast<char>(6); break;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2021, 06:55
Помогаю со студенческими работами здесь

Написать программу сортировки колоды карт
Необходимо упорядочить колоду карт (36 листов) сначала по мастям (пики, трефы, бубны и черви), а внутри каждой масти – по старшинству карт...

Создать два производных класса от колоды карт
Создать класс карта, имеющая ранг и масть. Карту можно перевернуть и открыть. Создать класс - колода карт, содержащий карты. Создать два...

Реализовать иерархию классов для моделирования работы магазина, продающего колоды карт (по 36 и 52 карты)
Задание: 1. Реализовать класс: Магазин колод карт. Добавить возможность добавлять новые колоды(при добавлении присваивать каждой...

Сколькими способами можно из колоды игральных карт (36 карт) раздать двум игрокам по шесть карт?
Задача на комбинаторику с подвохом Сколькими способами можно из колоды игральных карт (36 карт) раздать двум игрокам по шесть карт...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru