Задача 4

Run Settings
LanguageC
Language Version
Run Command
#include <locale.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #define TOTAL_CARDS 52 #define PLAYERS 3 #define CARDS_PER_PLAYER 6 const char* suits[] = { "(H)", "(D)", "(C)", "(S)" }; // Hearts, Diamonds, Clubs, Spades ♥ ♦ ♣ ♠ const char* ranks[] = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "В", "Д", "К", "Т" }; typedef struct { int suit; int rank; } Card; void createDeck(Card* deck) { int index = 0; for (int s = 0; s < 4; s++) { for (int r = 0; r < 13; r++) { deck[index].suit = s; deck[index].rank = r; index++; } } } void shuffleDeck(Card* deck) { for (int i = 0; i < TOTAL_CARDS; i++) { int j = rand() % TOTAL_CARDS; Card temp = deck[i]; deck[i] = deck[j]; deck[j] = temp; } } void printCard(const Card* card) { printf("%s%s ", ranks[card->rank], suits[card->suit]); } int isBigCard(int rank) { // Валет (9), Дама (10), Король (11), Туз (12) return rank >= 9; } int main() { setlocale(LC_CTYPE, "ukr"); srand(time(NULL)); Card deck[TOTAL_CARDS]; createDeck(deck); shuffleDeck(deck); int trumpSuit = rand() % 4; printf("Козирна масть: %s\n\n", suits[trumpSuit]); Card players[PLAYERS][CARDS_PER_PLAYER]; int cardIndex = 0; for (int p = 0; p < PLAYERS; p++) { for (int c = 0; c < CARDS_PER_PLAYER; c++) { players[p][c] = deck[cardIndex++]; } } for (int p = 0; p < PLAYERS; p++) { printf("Гравець %d: ", p + 1); int bigNonTrump = 0; for (int c = 0; c < CARDS_PER_PLAYER; c++) { Card card = players[p][c]; printCard(&card); if (isBigCard(card.rank) && card.suit != trumpSuit) { bigNonTrump++; } } printf("\nВеликi не козирнi карти: %d\n\n", bigNonTrump); } return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines