Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2013, 19:53   #1
Parazite
Новичок
Джуниор
 
Регистрация: 07.04.2010
Сообщений: 1
По умолчанию задача с указателями из книги Дейтелов

пытаюсь самостоятельно учить С++ по книге Дейтелов добрался до темы Указатели и застрял с задачами.
там рассматривался пример алгоритма раздачи карт, а в задачах его нужно доработать вот с этим у меня возникли проблемы
подскажите если кто-то знает или делал их как правильно
есть класс которые моделирует раздачу карт в Покере
DeckOfCarst.cpp

Код:
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>

#include "DeckOfCarst.h"

using namespace std;

static const char *suit[4] = {"Chirva", "Bubna", "Pika", "Kresta"};
static const char *face[13] = {"edenica", "dvojka", "trojka", "chetverka", "pjaterka", "shesterka", "semerka", "vosmerka",
    "devatca", "desjatka", "valet", "dama", "corol"};

DeckOfCarst::DeckOfCarst() {
    colDealtCart = 52;
    for (int row = 0; row <= 3; row++) {
        for (int column = 0; column <= 12; column++) {
            deck[row][column] = 0;
        }
    }
    srand(time(0));
}

void DeckOfCarst::shufle() {
    int row;
    int column;
    for (int cart = 0; cart <= colDealtCart; cart++) {
        do {
            row = rand() % 4;
            column = rand() % 13;
        } while (deck[row][column] != 0);
        deck[row][column] = cart;
    }
}

void DeckOfCarst::deal() {
    for (int cart = 0; cart <= 52; cart++) {
        for (int row = 0; row <= 3; row++) {
            for (int column = 0; column <= 12; column++) {
                if (deck[row][column] == cart) {
                    cout << setw(5) << right << face[column]
                            << " of " << setw(8) << left << suit[row]
                            << (cart % 2 == 0 ? '\n' : '\t');

                }
            }
        }
    }
}
и сам головной файл

Код:
#include <iostream>
#include <iomanip>
#include <cstring>
#include <ios>
#include <string>

#include "DeckOfCarst.h"

using namespace std;

int main() {


    DeckOfCarst Carts;

    Carts.shufle();
    Carts.deal();
    return 0;
}
мне нужно модифицировать его чтобы он делал еще некоторые вещи.
из книги

a) Определить, имеется ли на руках у игрока пара.

загвоздка в том что не могу правильно его смоделировать
т.е.
  • нужно сделать метод который будет отдавать номера розданных карт
  • в основном файле сделать массив который эти номера будет накапливать чтобы их можно было обратно отдать в класс для проверки на присутствие Пар
как вообще такие вещи правильно описывать?
Parazite вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по C++(динамический массив, работа с указателями) UJIN2013 Помощь студентам 0 23.12.2012 16:12
Запись данных в закрытую/скрытую из UserForm другой открытой книги книги. Dark Victor Microsoft Office Excel 1 12.03.2012 18:37
Задача на Паскале(возможно с указателями) pahann Помощь студентам 1 31.01.2011 15:51
Задача с УКАЗАТЕЛЯМИ, ПОМОГИТЕ РЕШИТЬ! RomT24 Помощь студентам 1 06.06.2009 15:15