Giúp em cách giải pointer đi ạ

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//deck prototypes
void shuffle(int [][13]);
void deal(int [][13], char *[], char*[]);
void deal(int [][13], int[2][5], int[2][5]); //suggested replacement for you! -- 5 column 2 quality

//hand prototypes - suggested prototype for you!
//void show_hand(int [][5], char *[], char *[], int);

int main()
{
    char *suit[4]={"Hearts", "Diamonds", "Clubs", "Spades"};
    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;
}

//This function will shuffle our deck. Add comments for yourself!
void shuffle(int workdeck[][13])
{
    int card, row, column;
    
    for(card = 1; card <= 52; card++)
    {
        row = rand() % 4;
        column = rand() % 13;
        while(workdeck[row][column] != 0)
        {
            row = rand() % 4;
            column = rand() % 13;
        }
        workdeck[row][column] = card;
    }
}


void deal(int workdeck2[][13], char *workface[], char *worksuit[])
{    int card, row, column;
    for (card = 1; card <= 52; card++)
        for (row = 0; row <= 3; row++)
            for (column = 0; column <= 12; column++)
                if (workdeck2[row][column] == card)
                {    printf("%5s of %-8s",
                            workface[column], worksuit[row]);
                    if (card % 2 == 0)
                        puts("");
                    else
                        printf("\t");
                    row = 4;
                    column = 13;
                }
}

LÀM CÁCH NÀO ĐỂ EM TÌM RA

void deal(int [][13], int[2][5], int[2][5]);

void show_hand(int [][5], char *[], char *[], int);
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?