Salve, mi sono inbattuto in programma che simula il mescolamento e la distribuzione di un mazzo di carte francesi. il programma funge perfettamente ma usa una funzione per ordinare gli elementi nella struct il cui funzionamento non m'è chiaro.
la struct:
struct card{
char *face[];
char *suitt[];
};
typedef struct card Card;
ci sono poi due puntatori ad array
char *face[]= {"Asso", "due"......};
char *suit[] = {"Picche", Cuori".....};
Card deck[52];
e questa è la funzione che inizializza deck in maniera ordinata
void filldeck( Card *wDeck, char *wface[], char *wsuit)
{
int i;
for (i=0; i <=51; i++)
{
wDeck[i].face = wface[i % 13];
wDeck[i].suit = wsuit[ i / 13];
}
}
domanda come fa a inizializzare ordinatamente l'array di tipo struct utilizzando modulo e divisione? Nello specifico, potete illustrarmi più chiaramente il procedimento? Grazie mille