//funzione per inserimento nella lista, usata dentro crealista
Void InserisciInCoda(PNodo *l, int x, int y) {
Nodo *temp, *p;
temp = (PNodo) malloc(sizeof(Nodo));
temp->x = x;
temp->y=y;
temp->next = NULL;
if (*l==NULL)
*l= temp;
else {
p=*l;
while(p->next!=NULL)
p=p->next ;
p->next=temp;
}}
PNodo crealista(PNodo inizio){
int c=1;
int x,y;
while(c!=0){
printf("inserire punti? (1/0) ");
scanf("%d",&c);
if(c==1){
printf("X= ");
scanf("%d",&x);
printf("Y= ");
scanf("%d",&y);
if(Ricerca(inizio,x,y)==0)
InserisciInCoda(&inizio,x,y);}
else{
if(c!=0){
printf("non valido, riprova\n");
}
};
}
return inizio;}
void stampalista(PNodo p){
while(p!=NULL){
printf("(%d,%d) --> ",p->x,p->y);
p=p->next;
}
printf("NULL");
}
//funzione di ricerca di elementi nella lista, usata dentro crealista
int Ricerca(PNodo l, int x1, int x2){
int r=1;
while(l != NULL && (l->x!= x1 || l->y!=x2))
l=l->next;
if(l != NULL)
return 1;
else return 0;
}
ok ora è proprio tutto