19.12.2014, 17:18 | #1 (permalink) |
Новичок
Регистрация: 19.12.2014
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Язык СИ, блекджек. Помогите написать код
struct Card { char rank; // достоинство char suit; // масть }; Масти кодируются как 'c' (clubls - трефы), 's' (spades - пики), 'h' (hearts - червы) и 'd' (diamond - бубны). Достоинство кодируется как '2', '3', '4', '5', '6', '7', '8', '9', 'T' (ten - десять), 'J' (валет), 'Q' (дама), 'K' (король), 'A' (туз). В этой нотации дама пик и король бубен записываются как QsKd. Реализуйте функцию, которая проверяет, четное или нечетное количество очков по правилам игры блекджек в переданной руке. int check (struct Card * hand); hand - указатель на массив карт, последняя карта в котором имеет достоинство 0 (именно 0, а не '0', это ложная карта, используется только для обозначения конца массива). Функция возвращает количество очков в руке по правилам игры блекджек. Значения очков каждой карты: от двойки до десятки — соответственно от 2 до 10, у туза — 1 или 11 (11 пока общая сумма не больше 21, далее 1), у т. н. картинок (король, дама, валет) — 10. Функцию main реализовывать НЕ нужно. Проверку корректности аргументов не делать. Структуру описывать не нужно. Можно использовать существущие две глобальные переменные: char * const suite = "cshd"; char * const rank = "23456789TJQKA"; Пример использования функции struct Card [] hand1 = {{'Q', 's'}, {'A','h'}, {'9', 'd'}, {0, 0}}; struct Card * p; // напечатает QsAh9d for (p=hand; p->rank != 0; p++) { printf("%c%c", p->rank, p->suit); } printf("\n"); // проверяем printf("%d\n", check(hand)); |
19.12.2014, 17:18 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
На форуме и ранее задавали такие вопросы Помогите написать программу Помогите написать программу в Си++ Помогите написать программу Помогите написать программу |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|