Originariamente inviato da maximovic
Cioè mi spiegheresti come fare per favore?
Sono molto alle prime armi.
Grazie.
Se non metti i tag code smetto di intervenire... :rollo:
codice:
#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,para
rc,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);
}
Ad esempio per allocare float lat[200][300] dinamicamente fai così:
codice:
int i;
float** lat = (float**)malloc(sizeof(float*) * 200);
for(i = 0 ; i < 200 ; i++)
{
lat[i] = (float*)malloc(sizeof(float) * 300);
}
Ovviamente ricordati che questa memoria va liberata non appena non ti serve più, quindi devi prima fare un altro ciclo for chiamando free(lat[i]) per ogni membro dell'array e poi richiamare free(lat) per liberare la memoria ssociata all'array di puntatori esterno. Prova e facci sapere.
PS. Studiati le basi del C perchè non saper allocare dinamicamente un array è una lacuna non da poco.