Ciao, ho riprovato il programma su Linux RH9 con GCC 3.2.2 su un PC con 128MB di ram e non ho avuto errori in fase di esecuzione.
Il problema xrò ritorna anche con GCC (mi da segmentation fault) se incremento il numero degli elementi degli array dichiarati in double (tutti questi array dovrebbero essere dimensionati a 360000)
Fin quando porto a 360000 x e y nessun problema, ma poi se porto anche z ho segmentation fault. Riesco a portare anche z se dichiaro quelle variabili come float e non double, ma poi comunque ridimensionando anche le altre cado nello stesso errore.
Mi sembra un problema di memoria o di compilatore o di OS. Non saprei anche xchè con LCC-WIN32 e XP con 512MB di ram avevo errore già con array a 36000 elementi.
Ricordo che il problema sorge solo in esecuzione mentre in compilazione va tutto bene.
Sapreste aiutarmi magari anche provando con altri compilatori l'estratto del programma listato di seguito?
Grazie 1000. Ciao.


#include<math.h>
#include<stdio.h>

int main()
{
FILE *fp,*fi;
float lat[200][300],lon[200][300],out[200][300],la1,la2,lo1,lo2;
int i=0,j,k,n;
double x[360000],y[360000],z[360000],dbz[360000],sum,pi,lat_r0,lon_r0,eradm,merarc,pararc,latr[360000],lonr[360000];
/*unsigned char out[200][300];*/
pi = 3.1415927;
lat_r0 = 41.1359;
lon_r0 = 16.7798;
eradm = 6367.57;
merarc = 2.0*pi*eradm/360.0;
fp=fopen("ascii1.max","r");
fi=fopen("nomeout.txt","w");
printf ("%lf rdam",eradm);
}