Avrei un quesito da sootoporvi...è la prima volta che scrivo, spero vada tutto bene xD
Allora....
ho un file di n righe dove in ciascuna di esse c'è RAZZA NOME CODICE(es: 34h5br34) COLORE ANNI... le prime 4 info sono stringhe mentre l'ultima è un intero.
Devo prendere questi dati e metterli in una opportuna struttura dati.
Ho scelto l aseguente
Codice: Seleziona tutto
struct animale {
char razza[20];
char nome[20];
char codice[30];
char colore[30];
int anni;
struct animale *next;
};
Codice: Seleziona tutto
typedef struct animale cane;
typedef cane *lista_cani;
Codice: Seleziona tutto
lista_cane *split_razza(lista_cane *start, lista_cane *end){
lista_cane *p, *tempstart, *tempp, *pivot;
if(start == NULL)
return NULL;
pivot = start;
p = start;
while((*p)->next!= *end){
char paragone1[20];
char paragone2[20];
int ret;
strcpy(paragone1, (*p)->next->razza);
strcpy(paragone2, (*pivot)->razza);
ret = strcmp(paragone1, paragone2);
if(ret < 0){
(*tempp) = (*p)->next;
tempstart = start;
(*p)->next = (*tempp)->next;
start = tempp;
(*start)->next= (*tempstart);
}
else
(*p) = (*p)->next;
}
return start;
}
lista_cane* quicksort_razza(lista_cane* start, lista_cane* end){
lista_cane *pivot;
if(start == end)
return start;
pivot = start;
start = split_cane(start, end);
start = quicksort_cane(start, pivot);
(*pivot)->next = quicksort_cane((*pivot)->next, end);
return start;
}
Cosa sto sbagliando???
Mi da il seguente errore:
[Error] cannot convert 'animale*' to 'cane** {aka animale**}' for argument '1' to 'cane** quicksort_razza(cane**, cane**)'
Grazie a tutti

