4

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> #define SUIT_NUM 4 #define RANK_NUM 13 #define CARDS_NUMBER 6 #define PLAYERS 4 int main() { setlocale(LC_ALL, "Ukr"); int poll[PLAYERS][CARDS_NUMBER]; int check[SUIT_NUM][RANK_NUM]; int check_pairs[RANK_NUM] = { 0 }; int rank, suit; const char rank_code[RANK_NUM] = { '2','3','4','5','6','7','8','9','t','j','q','k','a' }; const char suit_code[SUIT_NUM] = { 'C','D','H','S' }; srand(time(0)); //основний цикл який генерує 24 карти (по 6 для 4 гравців) і перевіряє на наявність пари for (int i = 0; i < PLAYERS * CARDS_NUMBER; ) { int pair = 0; //генерацiя рангу та мастi карти rank = (rand() % 13); suit = (rand() % 4); //перевiрка на повторення карти if (check[suit][rank] != 1) { check[suit][rank] = 1; //виведення номеру гравця if (i % 6 == 0) { pair = 0; for (int j = 0; j < RANK_NUM; j++) check_pairs[i] = 0; printf("\nРука %d гравця: ", i / 6 + 1); } check_pairs[rank]++; //перевiрка на наявнiсть пари if (check_pairs[rank] > 1 && pair!=1) pair=1; //виведення карти printf(" %c%c ", rank_code[rank], suit_code[suit]); //виведення iнформацiї про наявнiсть пари в руцi гравця if ((i+1) % 6 == 0) { if (pair==1) printf("\nВ руцi %d гравця є пара\n", i / 6 + 1); else { printf("\nВ руцi %d гравця немає пари\n", i / 6 + 1); } } //перехiд до наступної карти i++; } } }
Editor Settings
Theme
Key bindings
Full width
Lines