codice:#include <stdio.h> #include <stdlib.h> struct NUM{int num; struct NUM *punt_num;}; typedef struct NUM numero; typedef numero *lista; void inizializza(lista*); void inserisci(lista*,int); void visualizza(lista*); void visualizza_pari(lista*); void max(lista*); void main() { int opzione,num; lista ls; while(opzione!=9999) { opzione=0; printf("Digita\n"); printf("-1 per inizializzare\n"); printf("-2 per inserire un numero in testa alla lista\n"); printf("-3 per visualizzare tutti gli elementi della lista\n"); printf("-4 per mostrare gli elementi della lista in posizione pari\n"); printf("-5 per mostrare il valore max presente nella lista\n\n"); scanf("%d",&opzione); if(opzione==1){ inizializza(&ls); } if(opzione==2){ num=0; printf("Inserisci il numero da inserire in testa alla lista\n"); while(num!=99999){ scanf("%d",&num); inserisci(&ls,num);} printf("\nLa lista aggiornata contiene questi numeri:\n"); visualizza(&ls); } if(opzione==3){ printf("La lista contiene questi numeri:\n"); visualizza(&ls); } if(opzione==4){ printf("La lista contiene in posizione pari questi numeri:\n"); visualizza_pari(&ls); } if(opzione==5){ printf("Il numero max presente nella lista e':\n"); max(&ls); } } } void inizializza(lista *lst){ if(*lst==NULL){ printf("La lista e' stata gia' inizializzata\n\n"); } else { *lst=NULL; printf("La lista e' stata inizializzata correttamente\n\n");} } void inserisci(lista *lst,int n){ lista ls; ls=(numero *)malloc(sizeof(numero)); ls->num=n; ls->punt_num=*lst; *lst=ls; } void visualizza(lista *lst){ lista ls; ls=*lst; while(ls!=NULL){ printf("%d\n",ls->num); ls=ls->punt_num; } } void visualizza_pari(lista *lst){ int cont=0; lista ls; ls=*lst; while(ls!=NULL){ cont++; if(cont%2==0){ printf("%d\n",ls->num); ls=ls->punt_num; } else ls=ls->punt_num; } } void max(lista *lst){ int max,temp; lista ls; ls=*lst; max=ls->num; temp=ls->num; while(ls!=NULL){ if(temp>max){ max=temp; temp=ls->num; ls=ls->punt_num; } } printf("\n%d",max); }
ho questo codice..
ma la funzione per il max nn funziona..
in cosa sbaglio?
premetto che sono un principiante..