<mosaic.cnfolio.com>
PROGRAM
  1. #include <stdio.h>
  2.  
  3. void shuffle( int wDeck[][ 10 ] );
  4.  
  5. void deal( const int wDeck[][ 10 ], const char *wFace[],
  6.  
  7. const char *wSuit[] );
  8.  
  9. int main( void )
  10.  
  11. {
  12.  
  13.    const char *suit[ 4 ] = { "Hearts", "Diamonds", "Clubs", "Spades" };
  14.  
  15.    const char *face[ 10 ] =
  16.  
  17.       { "50 - Ace", "2 - Deuce", "6 - Three", "10 - Four",
  18.  
  19.         "14 - Five", "18 - Six", "22 - Seven", "26 - Eight",
  20.        
  21.         "30 - Nine", "34 - Ten", };
  22.  
  23.    int deck[ 4 ][ 10 ] = { 0 };
  24.  
  25.  
  26.    srand( time( 0 ) );
  27.  
  28.    deal( deck, face, suit );
  29.    return 0;
  30. }
  31.  
  32.  
  33.  
  34. void shuffle( int wDeck[][ 10 ] )
  35.  
  36. {
  37.  
  38.    int row;
  39.  
  40.    int column;
  41.  
  42.    int card;
  43.  
  44.  
  45.  
  46.    for ( card = 1; card <= 40; card++ ) {
  47.  
  48.  
  49.  
  50.       do {
  51.  
  52.          row = rand() % 4;
  53.  
  54.          column = rand() % 10;
  55.  
  56.       } while( wDeck[ row ][ column ] != 0 );
  57.  
  58.  
  59.  
  60.       wDeck[ row ][ column ] = card;
  61.  
  62.    }
  63.  
  64. }
  65.  
  66.  
  67.  
  68. void deal( const int wDeck[][ 10 ], const char *wFace[],
  69.  
  70.          const char *wSuit[] )
  71.  
  72. {
  73.  
  74.    int card;
  75.  
  76.    int row;
  77.  
  78.    int column;
  79.  
  80.    for ( card = 1; card <= 3; card++ )
  81.    {
  82.  
  83.       for ( row = 0; row <= 3; row++ )
  84.    {
  85.          for ( column = 0; column <= 12; column++ )
  86.          {
  87.             if ( wDeck[ row ][ column ] == card )
  88.             {
  89.  
  90.              printf( "%5s of %-8s%c", wFace[ column ], wSuit[ row ],
  91.  
  92.                   card %1 == 0 ? '\n' : '\t' );
  93.             }
  94.          }
  95.       }
  96.    }
  97. }