Credo che usando solo i puntatori sia un po' dura. Se mi concedi una struct farei qualcosa del genere (assumo che dato1 e dato A siano delle stringhe e che dato A sia il seme della carta dato1), in fondo le struct me le studierei per andare avanti
codice:
struct carta
{
char carta[20];
char *seme;
};
struct carta *carte[n]; // mettici il numero di carte.
char *semi[4] = { "CUORI", "PICCHE", "QUADRI", "FIORI" }; // Direi che i semi sono quattro.
Se voglio usare definire la carta Donna di quadri nella posizione 0 di carte farei così:
codice:
strcpy(carte[0].carta, "Donna");
carte[0].seme = semi[2];
Se proprio non vuoi usare la struct allora qualcosa del genere:
codice:
char carte[n][20]; // mettici il numero di carte.
char semi_carte[n][20]; // mettici il numero di carte.
char *semi[4] = { "CUORI", "PICCHE", "QUADRI", "FIORI" }; // Direi che i semi sono quattro.
Se voglio usare definire la carta Donna di quadri nella posizione 0 di carte farei così:
codice:
strcpy(carte[0], "Donna");
strcpy(semi_carte[0], semi[2]);
Ovviamente questa soluzione è più brutta e spreca più memoria e funziona solo se poi i semi non cambiano (se no te li devi cambiare tu a mano uno per uno in semi_carte).
Prova un po' se funziona...

Opps ho visto troppo tardi che ti aveva risposto Andbin