Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

a.Write a structure (struct card) that will represent a card in a standard deck

ID: 3913848 • Letter: A

Question

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 orspades) 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 asstruct 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 27thcard, followed by the second card, followed by the 28thcard, and so on.c.Write a program that tests how many perfect shuffles are necessary to return the deck to its original configuration. CAN ANYONE WRITE THIS PROGRAM IN C

Explanation / Answer

C code for the given equirement

#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;

}