ho provato a fare in questo modo ma non riesco a confrontare i due elementi
codice:
#include <stdio.h>
#include <stdlib.h>
struct s_nodo{
int info;
struct s_nodo *next;
};
typedef struct s_nodo nodo; //nodo della lista
typedef nodo *puntaNodo;//puntatore ad un elelemnto
void inserisciCoda(puntaNodo *lista,int n);
void prova(puntaNodo *lista);
int main()
{
int x;
puntaNodo pTesta; //puntatore al primo elelemnto della lista
puntaNodo pNodo; //puntatore ad un generico nodo
pTesta=NULL;
pNodo=NULL;
int n=3;
inserisciCoda(&pTesta,n);
prova(&pTesta);
//Stampa(&pTesta,n);
}
void Stampa(puntaNodo *lista,int n);
void inserisciCoda(puntaNodo *lista,int n){
puntaNodo ultimo;
puntaNodo pNodo;
int v;
if(n>0){
printf("elemento ");
scanf("%d",&v);
pNodo=malloc(sizeof(nodo));
pNodo->info=v;
pNodo->next=NULL;
if(*lista==NULL){
*lista=pNodo;
}else{
ultimo=*lista;
if(ultimo->next!=NULL) ultimo=ultimo->next;
ultimo->next=pNodo;
}
}
if(n!=0){
inserisciCoda(lista,(n-1));
}
}
void Stampa(puntaNodo *lista,int n){
puntaNodo curr;
curr=lista;
if(curr!=NULL){
printf("%d ",curr->info);
curr=curr->next;
Stampa(curr,n-1);
}
}
void prova(puntaNodo *lista){
puntaNodo curr;
curr=lista;
while(curr!=NULL){
if((curr->info) > (curr->info)+1){
printf("si");
}
curr=curr->next;
}
}