Не могу понять в чём ошибка моего кода, помогите плз!!!
Форум — Development
Программа сдаёт по 9 карт 3 игрокам и подсчитывает кол-во последовательностей из 3 карт одного ранга у каждого игрока.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<locale.h>
#define NUM_SUITS 4 //кол-во мастей
#define NUM_RANKS 13 //кол-во рангов
int main() {
int in_hand[NUM_SUITS][NUM_RANKS] = { 0 };
int player1[NUM_RANKS] = { 0 };
int player2[NUM_RANKS] = { 0 };
int player3[NUM_RANKS] = { 0 };
int num_cards = 9, rank, suit;
//массив со всеми рангами
const char rank_code[] = { '2', '3', '4', '5', '6', '7', '8', '9', 't', 'j', 'q', 'k', 'a' };
//массив со всеми мастями
const char suit_code[] = { '\x05', '\x04', '\x03', '\x06' };
int i;
setlocale(LC_CTYPE, "rus");
/*инициализация генератора случайных чисел*/
srand(time(NULL));
//вывод карт для 1 игрока
printf_s("Карты 1-го игрока: ");
while (num_cards > 0) {
suit = rand() % NUM_SUITS;
rank = rand() % NUM_RANKS;
if (player1[rank] == 0) {
player1[rank] = 1;
}
else player1[rank]++;
//проверка на наличие карты, чтобы одна итаже карта не повторялась
if (!in_hand[suit][rank]) {
in_hand[suit][rank] = 1;
num_cards--;
printf_s("%c%c ", rank_code[rank], suit_code[suit]); //вывод карты
}
}
printf_s("\n\n");
for (i = 0; i < NUM_RANKS; i++) {
printf_s("%2d", player1[i]);
}
printf_s("\n\n");
num_cards = 9;
//вывод карт для 2 игрока
printf_s("Карты 2-го игрока: ");
while (num_cards > 0) {
suit = rand() % NUM_SUITS;
rank = rand() % NUM_RANKS;
if (player2[rank] == 0) {
player2[rank] = 1;
}
else player2[rank]++;
if (!in_hand[suit][rank]) {
in_hand[suit][rank] = 1;
num_cards--;
printf_s("%c%c ", rank_code[rank], suit_code[suit]);
}
}
printf_s("\n\n");
for (i = 0; i < NUM_RANKS; i++) {
printf_s("%2d", player2[i]);
}
printf_s("\n\n");
num_cards = 9;
//вывод карт для 3 игрока
printf_s("Карты 3-го игрока: ");
while (num_cards > 0) {
suit = rand() % NUM_SUITS;
rank = rand() % NUM_RANKS;
if (player3[rank] == 0) {
player3[rank] = 1;
}
else player3[rank]++;
if (!in_hand[suit][rank]) {
in_hand[suit][rank] = 1;
num_cards--;
printf_s("%c%c ", rank_code[rank], suit_code[suit]);
}
}
printf_s("\n\n");
for (i = 0; i < NUM_RANKS; i++) {
printf_s("%2d", player3[i]);
}
printf_s("\n");
return 0;
}
Перемещено shell-script из general