如何把一个函数中的循环值传递给另一个函数
这是一个纸牌游戏的发牌部分,每次向牌手发5张牌,现在要编写一个函数,确定手中是否有一对牌(暂时叫做pairs())。我的思路是把deal()中每次循环得到的column传递pairs(),然后判断是不是有两个column相同,但是实在不知道该怎么把deal函数里每次循环的column传递到pairs函数中?请高手指教!
//Card shuffling dealing program
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
void shuffle(int [][13]);
extern void deal(const int [][13],const char *[],const char *[]);
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};
srand(time(0));
shuffle(deck);
deal(deck,face,suit);
return 0;
}
void shuffle(int wDeck[][13])
{
int row,column;
for(int 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[])
{
for(int card = 1; card <= 5; card++)
for(int row = 0; row < 4;row ++)
for(int column = 0;column < 14;column++)
{
if(wDeck[row][column] == card)
cout << setw(8) << setiosflags(ios::right)
<<wFace[column] << " of "
<< setw(10) << setiosflags(ios::left)
<< wSuit[row] << endl;
}
}