Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define N 8 //Numero di espressioni considerate
  4. //Tipi di dato necessari per l'implementazione del programma
  5.  
  6. typedef struct tipo_Nodo
  7. {
  8.     float *valori;
  9.     struct tipo_Nodo* successivo;
  10. } listaEspressioni;
  11.  
  12. listaEspressioni* CONS(listaEspressioni *l, float *m)
  13. {
  14. listaEspressioni* lista;
  15. lista=(listaEspressioni*)malloc(sizeof(listaEspressioni));
  16. lista->valori=m;
  17. lista->successivo=l;
  18. return lista;
  19. }
  20. float* HEAD(listaEspressioni *l)
  21. {
  22. return l->valori;
  23. }
  24. listaEspressioni* TAIL(listaEspressioni *l) //non dealloca i contenuti della
  25. { //testa
  26. return l->successivo;
  27. }
  28. listaEspressioni* CUT(listaEspressioni *l) //taglia la testa deallocandone
  29. { //i contenuti
  30. listaEspressioni *t;
  31. t=l->successivo;
  32. free(l->valori);
  33. free(l);
  34. return t;
  35. }
  36.  
  37. int ISEMPTY(listaEspressioni* l)
  38. {
  39. return l==NULL;
  40. }
  41.  
  42. listaEspressioni* leggiEspressioni(char* nomefile)
  43. {
  44.     FILE *f;
  45.     int i,j;
  46.     float *v;
  47.     listaEspressioni* l=NULL;
  48.  
  49.     f=fopen(nomefile,"r");
  50.  
  51.     while(!feof(f)) {
  52.  
  53.         v=(float*)malloc(sizeof(float)*N);
  54.  
  55.         for(i=0; i<N; i++) {
  56.  
  57.             fscanf(f, "%f", &v[i]);
  58.         }
  59.  
  60.         l = CONS(l, v);
  61.     }
  62.  
  63.     fclose(f);
  64.     return l;
  65. }
  66.  
  67. int main() //con le funzioni aggiunte la main  pi semplice da leggere
  68. {
  69.     listaEspressioni *l;
  70.     float* v;
  71.     int imax;
  72.  
  73.     l=leggiEspressioni("espressioni.txt");
  74.  
  75.     v = HEAD(l);
  76.  
  77.     printf("Valore: ", v[2]);
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement