Contents:
This assignment gives students the opportunity to work with arrays and sorting.Programs that simulate card games usually have to simulate the operation of shuffling the deck. Like sorting, shuffling is a process that involves rearranging the elements of an array. Algorithmically, the only difference between sorting and shuffling is how you select elements. When you sort an array using selection sort, you choose the smallest element in the rest of the array on each cycle of the loop. When you shuffle an array, you choose a random element. At last, you should sort the 13 cards in descending order by suit.
Steps:
Write a function Shuffle that shuffles an array of strings. To test the Shuffle function, write a program that
1. Declares an array with 52 elements, each of which are strings.
2. Fills the elements of that array with strings representing standard playing cards. Each card is represented by a string consisting of a rank (A, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2) concatenated with a single letter representing a suit (C, D, H, S). Thus, the queen of spades is represented by the string "QS". The function IntegerToString described in Chapter 9 (page 302) will probably come in handy here.
3. Shuffles the array using the Shuffle function.
4. Deals a bridge hand by copying the first 13 cards from the deck to a separate array.
5. Sorts the 13 cards in the hand so that the cards are in descending order by suit. When the hand is sorted, all the spades come first, followed by the hearts, the diamonds, and finally the clubs. Within each suit, the cards should be listed in the order given in step 2: first the ace, then the king, then the queen, and so on down to the two. Note that this step requires an operation that is pretty much the same as the Sort function in the text. The only differences are that (1) the array elements are strings and (2) the comparison operation is slightly more complicated. In all other ways, your program should follow exactly the same structure.
6. Displays the 13 cards in the hand on a single line.
The following is a sample run of the program:
Hand: AS 6S AH 10H 7H 4H KD 8D 5D 4D 3D 2D AC