Advertisement
danpalol

traccia esame 1 parte 1

Jun 27th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.14 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. typedef struct nodo *Lista;
  5. typedef struct nodo {
  6.         int val;
  7.         Lista next;
  8. }   nodo;
  9.  
  10. //prototipi funzione
  11.  
  12. void scambia(Lista L, nodo *N);
  13. Lista leggilista();
  14. void stampalista();
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. int main ()
  24. {
  25.     Lista lotamma=NULL;
  26.     nodo *S;
  27.     S=malloc(sizeof(nodo));
  28.    
  29.  
  30.  
  31.  
  32.     lotamma=leggilista();
  33.     stampalista(lotamma);
  34.     printf("\n\ninserisci valore da cercare\n");
  35.     scanf("%d", S->val);
  36.     scambia(lotamma,S);
  37.     stampalista(lotamma);
  38.    
  39. }
  40.  
  41.  
  42.  
  43. void scambia(Lista L, nodo *N)
  44. {
  45.    
  46.     int var=N->val;
  47.     int var2;
  48.     while(L!=NULL)
  49.     {
  50.         var2=L->val;
  51.         if(L->val==N->val)
  52.         {
  53.             printf("il nodo e' presente, scambio\n");
  54.             L=L->next;
  55.             N->val=var2;
  56.             L->val=var;
  57.             break;
  58.         }
  59.         L=L->next;
  60.     }
  61. }
  62.  
  63.  
  64.  
  65.  
  66. void stampalista(Lista list)
  67. {
  68.     while(list)
  69.     {
  70.         printf("%d  ", list->val);
  71.         list=list->next;
  72.     }
  73. }
  74.  
  75.  
  76. Lista leggilista()
  77. {
  78.     nodo *L;
  79.     Lista N=NULL;
  80.     int val;
  81.     while(val!=-1)
  82.     {
  83.         printf("inserisci elemento nella lista premi -1 per terminare\n");
  84.         scanf("%d", &val);
  85.         if(val!=-1){
  86.         L=malloc(sizeof(nodo));
  87.         L->val=val;
  88.         L->next=N;
  89.         N=L;
  90.         }
  91.     }
  92.     return N;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement