PDA

View Full Version : [C] Confronto stringhe di caratteri in liste usando i puntatori


roblucci
07-07-2007, 06:11
Salve vorrei sapere se data
struct listaTreniMerci2 {
char nome[40];
char sequenza[40];
struct listaTreniMerci2 *next;
};


struct listaTreniMerci2 *treniMerci2, *sequenze;

la procedura così realizzata
void somiglianza(char * alfa, char *beta){
struct listaTreniMerci2 *tmp, *tmp2;
int result;
char alfa_tmp[40], beta_tmp[40];
tmp=treniMerci2;
tmp2=treniMerci2;
if((tmp != NULL) && (strcmp(tmp->nome,alfa) !=0)){
printf(">Non è presente il primo treno! \n");
return;
}
if((tmp2 != NULL) && (strcmp(tmp2->nome, beta)!=0)){
printf(">Non è presente il secondo treno! \n");
return;
}
alfa_tmp= tmp->sequenza;
beta_tmp= tmp2->sequenza;
result = strcmp (alfa_tmp, beta_tmp)
printf(">%d\n",result);

}
che confronta due treni della struttura sul membro nome, se sono presenti entrambi allora passa al confronto dei membri sequenza dei due diversi valori e restituisce il numero di caratteri iniziali uguali per entrambi. cioè
esempio
dato il valore nome= alfa sequenza=AAIUO
dato il valore nome=beta sequenza=AAIO
all'interno della lista per come ho realizzato la procedura
avrò come risultato 3 cioè i caratteri iniziali uguali tra le due sequenze.
o come devo fare ho utilizzato due puntatori ma nn so come far puntare uno puntatore solo al membro sequenza in relazione al membro alfa e l'altro
puntatore solo al membro sequenza in relazione al membro beta
grazie