Allora il primo programma l ho corretto in questo modo..ora va meglio??
codice:
#include <stdio.h>
#include <stdlib.h>
float* Allocation_Array(int a)
{
int i;
float *arr;
arr = (float*) malloc(sizeof(float) * a);
if (arr == NULL)
{
free (arr);
return NULL;
}
for(i=0; i<a; i++){
printf("Valore vet[%d] : ",i);
scanf("%f", &arr[i]);
}
return (arr);
}
int main()
{
FILE *fp;
float *vet;
int ele;
printf("\t\tSCRITTURA DI UN ARRAY IN UN FILE");
printf("\n\nSpecifica la lunghezza dell'array: ");
scanf("%d", &ele);
printf("\n");
vet = Allocation_Array(ele);
fp = fopen("C:/Documents and Settings/Ale/Documenti/C/Array.dat", "w");
if(fp != NULL)
fwrite(vet, sizeof(ele), ele, fp);
else
{
perror("Apertura file fallita");
exit(1);
}
fclose(fp);
return 0;
}
Per il secondo programma quindi devo dichiarare nuovamente le variabili e rispecificare la lunghezza dell'array??Se si qual'è il vantaggio dei file (pensavo ke leggendo il file precendete capisse da solo quanto fosse lungo l array e coi numeri farci qualunque operazione..)