Hello I was wondering if anyone could help me with this prog

Hello I was wondering if anyone could help me with this programming assignment in C. Thanks in advance! : (a) Write a structure (struct card) that will represent a card in a standard deck of playing cards. You will need to represent both the suit (clubs, diamonds, hearts or spades) as well as the rank ( A, K, Q, J, 10, 9, 8, 7, 6, 5, 6, 7, 2) of each card. Note that a deck of playing cards can be represented as an array declared as struct card deck[52]; (b) Write a function that will perform a perfect shuffle on a deck of cards represented using the data structures from part a. In a perfect shuffle, the deck is broken exactly in half and rearranged so that the first card is followed by the 27th card, followed by the second card, followed by the 28th card, and so on.

Solution

#include <stdio.h>
#include <stdlib.h>
struct card{
   int suit; // 0 for clubs,1 for diamonds,2 for hearts and 3 for spades
   int rank; // 13 for A, 12 for K,11 for Q,10 for J
};
void perfect_shuffle(struct card deck[])
{
   int i,j;
   struct card temp[52];
   for(i=0;i<26;i+=2)
   {
       temp[i].suit = deck[i].suit;
       temp[i].rank = deck[i].rank;
       temp[i+1].suit = deck[i+26].suit;
       temp[i+1].rank = deck[i+26].rank;
   }
   for(i=0;i<52;i+=1)
   {
       deck[i].suit = temp[i].suit;
       deck[i].rank = temp[i].rank;
   }
}
int main()
{
   struct card deck[52];

   return 0;
}

Hello I was wondering if anyone could help me with this programming assignment in C. Thanks in advance! : (a) Write a structure (struct card) that will represen

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site