exercice language c : HELP
Forum Programmation : exercice language c : HELP
Je suis tout nouveau dans le language. J'ai un exercice à faire, mais je comprend rien :
Marche aleatoire
Ici on cherche a trouver la distribution des fins de trajets d'un ivrogne marchant sur les entiers dans une dimension.
On s'interesse a la distribution des fins de parcours puisque les mathematiciens nous racontent que ces marches
aleatoires sont intimement lies aux distributions gaussiennes
Vous devez alors completer le programme marche_etudiants.c, compiler, debogger et tracer la distribution
des fins de parcours a l'aide de xmgrace. Une comparaison avec une gaussienne serait tres bien, egalement.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* il faut experimenter avec les valeurs de nombre_pas, nombre_essais */
#define nombre_pas 100
#define nombre_essais 1000000
/* on cherche a trouver la distributions des distances de marches aleatoires dans une dimension
on repete une marche aleatoire d'un nombre_de_pas predetermine
et on cherche la distribution des distances parcourues.
La repition est absolument necessaire - autrement il n'y aurait pas de statistique.*
La methode choisie est assez simple.
*/
int seed; /* variable globale pour la communication entre main et random01 */
/* un generateur aleatoire qui donne une site de nombre pseudo aleatoires entre 0 et 1 */
double random01() {
seed=abs((16807*seed)%((long int) pow(2,31)));
return (1.0*seed)/(pow(2,31)-1);
};
int main() {
int i,e,deplacement; /* bien sur, il faut definir d'autre variables */
int occurences[2*nombre_pas+1];
FILE *fichier; /* pour ecrire les donnes a la fin */
seed=30; /* pour une valeur de 'seed' il y aura toujours la meme suite 'aleatoire' */
/* initialiser occurences=0 */
for (i = -nombre_pas; i < nombre_pas ; i++) occurences[i+nombre_pas]=0;
for (e=0;e < nombre_essais;e++) {
/* une fois la marche aleatoire terminee il faut inscrire la position attente dans le vecteur
occurences: */
occurences[nombre_pas+deplacement]= occurences[nombre_pas+deplacement]+1;
/* fin essais */};
/* ecrire les resultats dans un fichier */
fichier = fopen("resultat","w" );
for (i = -nombre_pas; i < nombre_pas ; i++)
fprintf(fichier,"%d %d \n",i,occurences[i+nombre_pas]);
fclose(fichier);
return 0;};
éclairez moi svp merci
Qu'est ce que tu ne comprend pas précisement ?
Ce n'est pas vrément le C qui me pose problème, je ne comprend pas le fond de l'exercice, ce qu'il faut faire.
et qu'est ce que signifi une variable avec des [] : occurences[nombre_pas+deplacement]
| Citation : qu'est ce que signifi une variable avec des [] : occurences[nombre_pas+deplacement] |
signifie un tableau d'entiers de "nombre_pas+deplacement" cases.
| Citation :
|
signifie un tableau d'entiers de "nombre_pas+deplacement" cases.
[/quote]
ca désigne plutot l'élément "nombre_pas+deplacement" du tableau statique "occurences", tableau qui contient "2*nombre_pas+1" elements (int occurences[2*nombre_pas+1]
Merci!
j'ai un autre broblème avec Dev-c++, quand je débug j'ai un message d'erreur : "Une violation d'accès (erreur de segmentation) est apparue..."
de l'aide serait la bienvenue
merci
Il y a 2221 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
