Salve a tutto il forum.
Tra ieri e oggi ho passato quattro ore a cercare di capire :master: come poter terminare la compilazione di un sorgente che ora vi andro' a postare.
Andiamo alla funzione "mano". Quindi quella proprio qua sopra.codice:/*Prototipo di Poker*/ #include <stdio.h> #include <time.h> void mescola(int[][13]); void distribuzione(int[][13], char *[], char *[]); main() { char *semi[4] = {"Picche", "Fiori", "Cuori", "Quadri"}; char *segni[13] = {"Asso", "Due", "Tre", "Quattro", "Cinque", "Sei", "Sette", "Otto", "Nove", "Dieci", "Re", "Regina", "Fante"}; int mazzo[4][13] = {0}; srand(time(NULL)); mescola(mazzo); distribuzione(mazzo, semi, segni); } void mescola(int deck[][13]) { int cards, rig, col; for (cards = 1; cards <= 52; cards++) { rig = rand() % 4; col = rand() % 13; while (deck[rig][col] != 0) { rig = rand() % 4; col = rand() % 13; } deck[rig][col] = cards; } } void distribuzione(int deck[4][13], char *type[], char *sign[]) { void mano(int[], int [], char *[], char *[]); int card1[4], card2[4], carte, rig, col; for (carte = 0; carte <= 5; carte++) { for (rig = 0; rig <= 3; rig++) for (col = 0; col <= 12; col++) if (deck[rig][col] == carte) { printf("CARTA[%d][%d]", rig, col); printf("%s di %-8s\n", sign[col], type[rig]); card1[carte] = rig; card2[carte] = col; } } mano(card1, card2, type, sign); } void mano(int rig[4], int col[4], char *semi[], char *fig[]) { int i; printf("\n\n"); for (i = 0; i <= 4; i++) { if (col[i] == col[i + 1]) printf("\nCOPPIA!\n"); else printf("\n"); } }
L'intento dell'esercizio che dovrei svolgere e' quello di mescolare cinquantadue carte e distribuirne cinque. Come in una normale mano da poker. Fatto questo, la funzione "mano" dovrebbe confrontare tutti i valori e se ne trova almeno due identici nel valore "col" (tanto per intenderci "col" sarebbe la colonna della matrice, in quanto deve rimanere sempre tale e puo' cambiare solo il seme) da come output COPPIA.
Ovviamente if (col[i] == col[i + 1]) l'ho inserito solo per darvi un'idea in quanto non e' adatto a cio' che devo fare.
Scusatemi se mi sono dilungato e spero di essere stato chiaro (cosa fondamentale).
A presto.![]()

Rispondi quotando
