Lab3.4

Run Settings
LanguageC
Language Version
Run Command
/** * @file lab3.4 *@author Ткаченко Є.С., гр. 515і *@date 28 березня 2023 *@brief Лабораторна робота № 3, варіант 7 * * Завдання 4. Використання масивів */ #include <stdlib.h> #include <stdio.h> #include <time.h> #include <locale.h> #define NUM_CARDS 52 #define NUM_PLAYERS 3 #define NUM_SUITS 4 #define NUM_RANKS 13 #define HAND_SIZE 9 const char* suits[NUM_SUITS] = { "\u2665", "\u2666", "\u2663", "\u2660" }; // масив мастей const char* ranks[NUM_RANKS] = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" }; // масив рангів int main() { setlocale(LC_ALL, "ukr"); int deck[NUM_CARDS]; // колода карт int hand[NUM_PLAYERS][HAND_SIZE]; // роздача карт int num_sequences[NUM_PLAYERS] = { 0 }; // масив кількості послідовностей для кожного гравця // ініціалізація колоди for (int i = 0; i < NUM_CARDS; i++) { deck[i] = i; } srand(time(NULL)); // ініціалізація генератора випадкових чисел // роздача карт for (int i = 0; i < HAND_SIZE; i++) { for (int j = 0; j < NUM_PLAYERS; j++) { int card; do { card = rand() % NUM_CARDS; } while (deck[card] == -1); hand[j][i] = card; deck[card] = -1; } } // підрахунок кількості послідовностей для кожного гравця for (int i = 0; i < NUM_PLAYERS; i++) { for (int j = 0; j < NUM_SUITS; j++) { for (int k = 0; k < NUM_RANKS - 2; k++) { int count = 0; for (int l = 0; l < HAND_SIZE; l++) { if (hand[i][l] / 13 == j && hand[i][l] % 13 == k) { count++; } else { count = 0; } if (count == 3) { num_sequences[i]++; break; } } } } } // виведення результатів for (int i = 0; i < NUM_PLAYERS; i++) { printf("Гравець %d:\n", i + 1); for (int j = 0; j < HAND_SIZE; j++) { printf("%s%s ", ranks[hand[i][j] % 13], suits[hand[i][j] / 13]); } printf("\nКiлькiсть комбiнацiй: %d\n\n", num_sequences[i]); } return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines