Allora ... in effetti i puntatori sono l'argomento più complesso del linguaggio "C" e .... bisogna capirli a fondo per poterli usare!!Originariamente inviato da UltraBeginner
[1]-->[dato1]-->[datoA]
[2]-->[dato2]-->[datoB]
[3]-->[dato3]-->[datoC]
[4]-->[dato4]-->[datoD]
[n]-->[daton]-->[daton]
Detta in parole, sarebbe un vettore di puntatori che puntano a un dato (in questo caso il numero di una carta da gioco, es dato1),ma come posso fare a partire dal numero della carta a puntare anche al seme della carta?( es datoA).
E possibile creare questa struttura SOLO usando puntatori? (e non cose piu avanzate come struct liste etc, ho sbirciato il libro -.-). Vi faccio questa domanda perche sono allo studio del capitolo del puntatori e il problema si deve risolvere con i mezzi fin qui studiati. Nel caso in cui la risposta sia negativa allora mi sa ke dovro' cambiare approccio (alias algoritmo) per risolvere il mio problema.
Fatta questa premessa, veniamo al tuo problema. Tu dici che vuoi risolvere la cosa con dei puntatori ma ... la soluzione migliore non è questa. Devi pensare a quali sono i dati da gestire e a come sono rapportati tra di loro.
Prendiamo una carta da gioco: essa ha 2 caratteristiche: il numero e il seme. Questi due dati non sono collegati tra di loro. Non ha senso dire che il numero 1 è "collegato" al seme "fiori". È la carta che ha numero 1 e seme "fiori".
Quindi il modo migliore è usare una semplice struttura. Ad esempio:
Nota: ho usato una stringa per identificare il seme. Nulla vieta di usare un valore numerico (es. 1, 2, 3, 4). Dipende dall'uso che se ne deve fare!codice:typedef struct { short numero; char *seme; } CARTA; CARTA carte[2] = { { 1, "fiori" }, { 2, "fiori" } };
Personalmente, no, grazie ... non so giocare a poker.Originariamente inviato da UltraBeginner
PS se qualcuno e interessato a discutere sul mio problema, cioe a una simulazione di poker, ben venga![]()
![]()

Rispondi quotando