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;