Bonjour,
Aujourd'hui j'ai eu un programme a faire sur le mouvement brownien.
L'ors de la compilation tout se passe bien, je lance le programme et la:
Segmentation fault
et je sais pas pourquoi.
Voici mon programme
/* Marche aleatoire */
- include <stdio.h>
- include <math.h>
- include <time.h>
- include <stdlib.h>
main()
{
//ouverture dun fichier ou on va ecriee les resultats
FILE *file;
//ouverture second fichier ou ily a les valeurs moyennes
FILE *file2;
/*n= nb de pas, i=1,..,n x,y coords spatailes*/
int i,n,j,m; //j numereau de marche
double a,b,x,y,rmcarre[m],rcarre; // a,b=nbs aleatoires rmcarre[m] rcarre
// graine de generateur aleatoire
srand48 (time(NULL));
//initialisation du porbleme
n=1000;
m=1000;
x=0.0;
y=0.0;
// 1er boucle initialisation rcarre
for (i=0; i<n; i++)
{
rmcarre[i]=0.0;
}
//debut seonde boucle avec j tes grose boucle
for (j=1; j<m; j++)
{
x=0.0;
y=0.0;
//debut seconde boucle
for (i=0; i<=n; i++)
{
a=drand48();
b=drand48();
//pour x
if (a>0.0 && a<0.25) {x=x-1;}
if (a>0.25 && a<0.5) {x=x+1;}
if (0.5<a && a<=1) {x=x;}
//pour y
if (0<b && b<=0.25) {y=y+1;}
if (0.25<b && b<=0.5) {y=y+1;}
if (0.5<b && b>=1) {y=y;}
rcarre=x*x + y*y;
rmcarre[i] = rmcarre[i] + rcarre;
} //fin second for i
}// fin premier forj
file2=fopen("rcarre1.dat","w");
for (i=1;i<n;i++) {
fprintf(file2,"%d %lf \n",i,rmcarre[i]/m);
}
//fclose(file);
//fclose(file2);
}
Merci d'avance