LINUX.ORG.RU

Сообщения Sam123

 

Не могу понять в чём ошибка моего кода, помогите плз!!!

Программа сдаёт по 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

 

Sam123
()

Задание по языку СИ

Вводятся рандомно точки на координатной плоскости, и нужно соединить их в графики функций так, чтобы все точки были перечёркнуты. Когда уже эти точки известны, как соединить их в графики функций??? Это нужно сделать на языке Си. Цена договорная

Sam123
()

Задание по языку СИ

Вводятся рандомно точки на графике, и нужно соединить их в графики, так, чтобы все точки были перечёркнуты. Когда уже эти точки известны, как соединить их в графики??? Помогите пожалуйста! Это нужно сделать на языке Си.

Sam123
()

RSS подписка на новые темы