Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define N 8 //Numero di espressioni considerate
- //Tipi di dato necessari per l'implementazione del programma
- typedef struct tipo_Nodo
- {
- float *valori;
- struct tipo_Nodo* successivo;
- } listaEspressioni;
- listaEspressioni* CONS(listaEspressioni *l, float *m)
- {
- listaEspressioni* lista;
- lista=(listaEspressioni*)malloc(sizeof(listaEspressioni));
- lista->valori=m;
- lista->successivo=l;
- return lista;
- }
- float* HEAD(listaEspressioni *l)
- {
- return l->valori;
- }
- listaEspressioni* TAIL(listaEspressioni *l) //non dealloca i contenuti della
- { //testa
- return l->successivo;
- }
- listaEspressioni* CUT(listaEspressioni *l) //taglia la testa deallocandone
- { //i contenuti
- listaEspressioni *t;
- t=l->successivo;
- free(l->valori);
- free(l);
- return t;
- }
- int ISEMPTY(listaEspressioni* l)
- {
- return l==NULL;
- }
- listaEspressioni* leggiEspressioni(char* nomefile)
- {
- FILE *f;
- int i,j;
- float *v;
- listaEspressioni* l=NULL;
- f=fopen(nomefile,"r");
- while(!feof(f)) {
- v=(float*)malloc(sizeof(float)*N);
- for(i=0; i<N; i++) {
- fscanf(f, "%f", &v[i]);
- }
- l = CONS(l, v);
- }
- fclose(f);
- return l;
- }
- int main() //con le funzioni aggiunte la main pi semplice da leggere
- {
- listaEspressioni *l;
- float* v;
- int imax;
- l=leggiEspressioni("espressioni.txt");
- v = HEAD(l);
- printf("Valore: ", v[2]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement