I am stuck! This isn't running...any help would be greatly appreciated. Thanks!
Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void shuffle( int [] [13] );
void deal(const int [] [13], const char *[], const char *[] );
void countface( int [],const char*[]);
void countsuit(int [],const char*[]);
int getface(int);
int getsuit(int);
int main()
{
const char *suit[4] =
{ "Hearts", "Diamonds","Clubs", "Spades"};
const char *face[13] =
{"Ace","Deuce","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"};
int deck[4][13] = {0};
int hand[]={5};
srand( time(0) );
shuffle( deck);
deal(deck,face,suit);
countface(hand,face);
countsuit(hand,suit);
return 0;
}
void shuffle(int wDeck[][13])
{
int row,column,card;
for (card=1;card<= 52; card++){
do{
row= rand() % 4;
column = rand() % 13;
} while(wDeck[row][column] != 0);
wDeck[row][column] = card;
}
}
void deal(const int wDeck[][13], const char *wFace[],
const char *wSuit[] )
{
int card,row,column;
for (card=1;card<=5;card++)
for (row=0;row <=3;row++)
for (column=0;column<=12;column++)
if (wDeck[row][column]== card)
printf("%5s of %-8s%c\n\n",
wFace[column],wSuit[row],
card % 2 == 0? '\n' : '\t' );
}
void countface(int hand[],const char *wFace[])
{
int value,count;
int store[13] = {0};
for (count=0;count<5;count++)
{
value=getface(hand[count]);
++store[value];
if (store[value]==2)
printf("You have a pair!");
else if (store[value]==3)
printf("You have three of a kind!\n");
else if(store[value]==4)
printf("You have four of a kind!\n");
}
}
void countsuit(int hand[],const char *wSuit[])
{
int value,count;
int store[4] = {0};
for (count=0;count<5;count++)
{
value=getsuit(hand[count]);
++store[value];
if (store[value]==5)
printf("You have a flush!!\n\n");
}
}
int getface(int Card)
{
return (Card-1)%13;
}
int getsuit(int Card)
{
return (Card-1)/13;
}
Code tags added by Hammer