5.5. :  _______________________________141

class deck {         //
public:

void init_deck(); // 

void shu?fle();    // 

void deal(int, int, card*); //

void pr_deck();

private:

card d[52] ;

};

      -    -
         
  4.6, : ,  . 116.     -
 .      
.

void deck::init_deck()

{

for (int i = 0; i < 52; ++i)
d[i].assign(i) ;

}

void deck::shuffle()
{

for (int i = 0; i < 52; ++i) {

int k = i + ((rand() % (52-i)));

card t = d[i];//   
d[i] = d[k] ;

d[k] = t;

}
/

void deck::deal(int n, int pos, card* hand)
{

for (int i = pos; i < pos + n; ++i)
hand[i - pos] = d[i];

}

   4.6. : ,  . 116 . 
init_deck ()  card: : assign (),     -
 .  shuffle ()    -
  rand ()       .  deal ()
          .

int main()
{

card one_hand[9]; //  9    

deck dk;