ГАВАЛЯН 515-і Лаб.3 Завдання 4

Run Settings
LanguageC
Language Version
Run Command
/* * @file lab3_4.cpp * @author Гавалян Д.Є, гр. 515i * @date 5 квiтня 2025 * @brief Лабораторна робота № 3, варiант 19 * * Використання масивiв. Завдання 3 */ #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <time.h> #include "module.h" int main() { setlocale(LC_ALL, "Ukr"); /* Карти на руках */ int in_hand[NUM_SUITS][NUM_RANKS] = { 0 }; int num_cards; int trump_card = 0; const char rank_code[] = { '2', '3', '4', '5', '6', '7', '8', '9', 't', 'J', 'Q', 'K', 'A' }; const char suit_code[] = { 'c', 'd', 'h', 's' }; /* генератор випадкових чисел */ srand(time(0)); printf("Введiть кiлькiсть карт: "); scanf("%d", &num_cards); /* Обрання випадкової козирної мастi */ RandomTrumpCard(&trump_card, suit_code); int MyTrumpCards = 0; int JohnTrumpCards = 0; int HavierTrumpCards = 0; printf("\nВашi карти:"); PlayerCards(num_cards, in_hand, rank_code, suit_code, trump_card, &MyTrumpCards); printf("\nКарти суперника John:"); FirstRivalCards(num_cards, in_hand, rank_code, suit_code, trump_card, &JohnTrumpCards); printf("\nКарти суперника Havier:"); SecondRivalCards(num_cards, in_hand, rank_code, suit_code, trump_card, &HavierTrumpCards); printf("\nВашi козирнi карти: %d", MyTrumpCards); printf("\nКозирнi карти Джона: %d", JohnTrumpCards); printf("\nКозирнi карти Хавьера: %d\n", HavierTrumpCards); return 0; }
#include <stdio.h> #include <stdlib.h> #include "module.h" /* Обрання випадкової козирної мастi */ void RandomTrumpCard(int* trump_card, const char suit_code[]) { *trump_card = rand() % NUM_SUITS; printf("\nКозирна масть: %c", suit_code[*trump_card]); } /* Роздача карт гравця */ void PlayerCards(int num_cards, int in_hand[NUM_SUITS][NUM_RANKS], const char rank_code[], const char suit_code[], int trump_card, int* MyTrumpCards) { int suit, rank; while (num_cards > 0) { suit = rand() % NUM_SUITS; rank = rand() % NUM_RANKS; if (!in_hand[suit][rank]) { in_hand[suit][rank] = 1; /* карта обрана */ num_cards--; printf(" %c%c", rank_code[rank], suit_code[suit]); if (suit == trump_card) { (*MyTrumpCards)++; } } } } /* Роздача карт першого суперника */ void FirstRivalCards(int num_cards, int in_hand[NUM_SUITS][NUM_RANKS], const char rank_code[], const char suit_code[], int trump_card, int* JohnTrumpCards) { int suit, rank; int firstRivalCards = 0; while (firstRivalCards < 9) { suit = rand() % NUM_SUITS; rank = rand() % NUM_RANKS; if (!in_hand[suit][rank]) { in_hand[suit][rank] = 1; /* карта обрана */ printf(" %c%c", rank_code[rank], suit_code[suit]); firstRivalCards++; if (suit == trump_card) { (*JohnTrumpCards)++; } } } } /* Роздача карт другого суперника */ void SecondRivalCards(int num_cards, int in_hand[NUM_SUITS][NUM_RANKS], const char rank_code[], const char suit_code[], int trump_card, int* HavierTrumpCards) { int suit, rank; int secondRivalCards = 0; while (secondRivalCards < 9) { suit = rand() % NUM_SUITS; rank = rand() % NUM_RANKS; if (!in_hand[suit][rank]) { in_hand[suit][rank] = 1; /* карта обрана */ printf(" %c%c", rank_code[rank], suit_code[suit]); secondRivalCards++; if (suit == trump_card) { (*HavierTrumpCards)++; } } } }
#ifndef MODULE_H #define MODULE_H #define NUM_SUITS 4 /* кiлькiсть мастей */ #define NUM_RANKS 13 /* кiлькiсть рангiв */ void RandomTrumpCard(int* trump_card, const char suit_code[]); void PlayerCards(int num_cards, int in_hand[NUM_SUITS][NUM_RANKS], const char rank_code[], const char suit_code[], int trump_card, int* MyTrumpCards); void FirstRivalCards(int num_cards, int in_hand[NUM_SUITS][NUM_RANKS], const char rank_code[], const char suit_code[], int trump_card, int* JohnTrumpCards); void SecondRivalCards(int num_cards, int in_hand[NUM_SUITS][NUM_RANKS], const char rank_code[], const char suit_code[], int trump_card, int* HavierTrumpCards); #endif
Editor Settings
Theme
Key bindings
Full width
Lines