ciao a tutti.
ho scritto questa funzione con lo scopo di scorrere una lista di coordinate e di eliminare eventuali elementi uguali e di sostituirli con altri generati in modo pseudo casuale.
le funzioni ncoord_couple_generation e delete_element rispettivamente servono per generare e per eliminare una coppia di coordinate e penso che non abbiano problemi.
ho devi problemi in fase di esecuzione perchè la lista non viene scorsa bene.
grazie per l'interessamento
![]()
codice:int check(LISTCOORD_PTR *sptr, NICONST_PTR consts_ptr){ int c = 0; LISTCOORD_PTR previousptr, currentptr; previousptr = *sptr; while (previousptr != NULL){ currentptr = previousptr->listcoordptr; while(currentptr != NULL){ if(previousptr->ascissa == currentptr->ascissa && previousptr->ordinata == currentptr->ordinata){ c += 1; delete_element(sptr, currentptr); currentptr = ncoord_couple_generation(consts_ptr); ncoord_insert(sptr, currentptr);} currentptr = currentptr->listcoordptr;} previousptr = previousptr->listcoordptr;} if (c != 0) return 1; else return 0; } struct listcoord { double ascissa; double ordinata; struct listcoord* listcoordptr; }listcoord; typedef struct listcoord LISTCOORD; typedef LISTCOORD *LISTCOORD_PTR;

Rispondi quotando