allora io ho scritto così:
codice:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include "dati.h"
struct dato *read_dati (const char *filename, unsigned int *pn) {
FILE *f;
struct dato *p = NULL;
unsigned int x=0;
f=fopen(filename, "rt");
if(f==NULL)
exit(EXIT_FAILURE);
for(x=0;feof(f)==0;x++) {
p = realloc(p,(x+1)*sizeof(struct dato));
fscanf(f, "%lf %lu", &p[x].valore, &p[x].classe);
}
pn=&x;
return p;
}
dentro dati.h c'è anche la definizione della struct.
si potevano facilmente far fuori le variabili temporanee.
l'unica cosa che non capisco è che se faccio il debug con pelles (che useremo durante l'esame) mi viene detto che il programma non termina nel tempo prestabilito e c'è un ciclo infinito.
con visual studio invece va tutto liscio.
bah.