Ciao a tutti,
dovrei creare una funzione che inserisce in una lista (lintA) i numeri primi contenuti in un'altra lista (lintT). Come prototipo della funzione vorrei usare TABR *insNPrimi(TABR *lista). Di seguito la prima parte del programma:
Qualcuno sa dirmi come posso fare? Grazie millecodice:#include<stdio.h> #include<stdlib.h> typedef struct nd{ int val; struct nd *next; }TABR; TABR *newLista(); TABR *addLista(TABR *lista, int num); void printLista(TABR *lista); int main(){ TABR *lintA; TABR *lintT; FILE *fp; int num; lintA=newLista(); lintT=newLista(); fp=fopen("dati.txt", "r"); while(fscanf(fp, "%d", &num)!=EOF){ lintT=addLista(lintT, num); } fclose(fp); printf("\n Lista 'lintT':\n\n"); printLista(lintT); printf("\n\n"); system("PAUSE"); return 0; } TABR *newLista(){ return NULL; } TABR *addLista(TABR *lista, int num){ TABR *temp; TABR *i; temp=(TABR *)malloc(sizeof(TABR)); if(temp==NULL){ printf("Errore di memoria!\n"); exit(-1); } else{ temp->val=num; temp->next=NULL; } i=lista; if(lista==NULL){ return temp; } else{ while(i->next!=NULL){ i=i->next; } i->next=temp; return lista; } } void printLista(TABR *lista){ if(lista==NULL){ printf("Lista vuota!\n"); } else{ while(lista!=NULL){ printf("%4d", lista->val); lista=lista->next; } } }

Rispondi quotando