Question: Please help me convert c code to pseudo code #include #include #include #define SUITS 4 #define FACES 13 #define CARDS 52 void shuffle(unsigned int deck[][FACES]);

Please help me convert c code to pseudo code

#include

#include

#include

#define SUITS 4

#define FACES 13

#define CARDS 52

void shuffle(unsigned int deck[][FACES]);

void deal(unsigned int deck[][FACES], unsigned int hand[][2], char *suit[], char *face[]);

void pair(unsigned int hand[][2], char *suit[], char *face[]);

void threeOfKind(unsigned int hand[][2], char *suit[], char *face[]);

void fourOfKind(unsigned int hand[][2], char *suit[], char *face[]);

void straightHand(unsigned int hand[][2], char *suit[], char *face[]);

void flushHand(unsigned int hand[][2], char *suit[], char *face[]);

int main()

{

char *suit[SUITS] = { "Hearts", "Diamonds", "Clubs", "Spades" };

char *face[FACES] = { "Ace", "Deuce", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine",

"Ten", "Jack", "Queen", "King" };

unsigned int deck[SUITS][FACES]; //represents deck of cards

unsigned int hand[5][2]; //represents hand

size_t row, column; //loop counters

//loop through rows of deck

for (row = 0; row < SUITS; ++row)

{

//loop through columns of deck for current row

for (column = 0; column < FACES; ++column)

{

deck[row][column] = 0; // initialize slot of deck to 0

} //end inner for

} //End outer for

srand(time(NULL)); // seed random number generator

//Shuffle the deck and deal a 5-card hand

shuffle(deck);

deal(deck, hand, suit, face);

//determine the hands poker value

pair(hand, suit, face);

threeOfKind(hand, suit, face);

fourOfKind(hand, suit, face);

straightHand(hand, suit, face);

flushHand(hand, suit, face);

}// end function main

//shuffles the deck

void shuffle(unsigned int deck[][FACES])

{

size_t row; //represents suit value of card

size_t column; // represents face value of card

unsigned int card; // loop counter

// for each of the 52 cards, choose a slot of the deck randomly

for (card = 1; card <= CARDS; ++card)

{

do // choose a new random location until unoccupied slot is found

{

row = rand() % SUITS; // randomly select row

column = rand() % FACES; //randomly select column

} while (deck[row][column] != 0); //end do ... while

//place card number in chosen slot of deck

deck[row][column] = card;

}// end for

}// end function shuffle

//deals a poker hand

void deal(unsigned int deck[][FACES], unsigned int hand[][2], char *suit[], char *face[])

{

unsigned int r = 0; //counter for position in the hand

size_t card, row, column; //loop counters

puts("The hand is: ");

//loop to distribute cards

for (card = 1; card < 6; ++card)

for (row = 0; row < SUITS; ++row)

for (column = 0; column < FACES; ++column)

if (deck[row][column] == card)

{

hand[r][0] = row;

hand[r][1] = column;

printf("%5s of %-8s ", face[column], suit[row]);

++r;

}//end if

puts(" ");

} //end function deal

//determines if there are any pairs in the hand

void pair(unsigned int hand[][2], char *suit[], char *face[])

{

//counter that records how many cards of each rank are in the hand

unsigned int counter[FACES] = { 0 };

size_t r, p; // loop counters

//record how many cards of each rank are in the hand

for (r = 0; r < 5; ++r)

++counter[hand[r][1]];

//print result if there is a pair

for (p = 0; p < FACES; ++p)

if (counter[p] == 2)

printf("The hand contains a pair of %ss. ", face[p]);

}//end function pair

//Determine if there is a three of a kind in the hand

void threeOfKind(unsigned int hand[][2], char *suit[], char *face[])

{

//Counter that records how many cards of each rank are in the hand

unsigned int counter[FACES] = { 0 };

size_t r, t; // loop counters

//record how many cards of each rank are in the hand

for (r = 0; r < 5; ++r)

++counter[hand[r][1]];

//print results if there is a three of a kind

for (t = 0; t < FACES; ++t)

if (counter[t] == 3)

printf("The hand contains three %ss. ", face[t]);

} // end function threeOfKind

//determines if there is a four of a kind in the hand

void fourOfKind(unsigned int hand[][2], char *suit[], char *face[])

{

//counter that records how many cards of each rank are in the hand

unsigned int counter[FACES] = { 0 };

size_t r, k; // loop counters

//record how many cards of each rank are in the hand

for (r = 0; r < 5; ++r)

++counter[hand[r][1]];

//print result if there is a pair

for (k = 0; k < FACES; ++k)

if (counter[k] == 4)

printf("The hand contains four %ss. ", face[k]);

} // end function fourOfKind

// Determines if there is a straight in the hand

void straightHand(unsigned int hand[][2], char *suit[], char *face[])

{

unsigned int s[5] = { 0 }; //array that holds a copy of the hand

unsigned int temp; // temporary integer

size_t r, pass, comp; // loop counters

//copy column locations to sort

for (r = 0; r < 5; ++r)

s[r] = hand[r][1];

//bubble sort column locations

for (pass = 1; pass < 5; ++pass)

for (comp = 0; comp < 4; ++comp)

if (s[comp] > s[comp + 1])

{

temp = s[comp];

s[comp] = s[comp + 1];

s[comp + 1] = temp;

}//end if

//check if sorted column are straight

if (s[4] - 1 == s[3] && s[3] - 1 == s[2]

&& s[2] - 1 == s[1] && s[1] - 1 == s[0])

{

printf("The hand contains a straight from %s to %s. ", face[s[0]], face[s[4]]);

}// end if

}//end funtion straightHand

//determines if there is a flush in the hand

void flushHand(unsigned int hand[][2], char *suit[], char *face[])

{

//counter that records how many cards of each suit are in a hand

unsigned int count[SUITS] = { 0 };

size_t r, f; // loop counters

//record how many cards of each suit are in the hand

for (r = 0; r < 5; ++r)

++count[hand[r][0]];

for (f = 0; f < SUITS; ++f)

if (count[f] == 5)

printf("The hand contains a flush of %ss. ", suit[f]);

}// end function flushHand

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!