Se connecter / S'enregistrer
Votre question

exercice language c : HELP

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
19 Mai 2006 11:31:11

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

Autres pages sur : exercice language help

19 Mai 2006 11:42:28

Qu'est ce que tu ne comprend pas précisement ?
19 Mai 2006 14:37:29

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]
19 Mai 2006 14:41:15

Citation :
qu'est ce que signifi une variable avec des [] : occurences[nombre_pas+deplacement]

signifie un tableau d'entiers de "nombre_pas+deplacement" cases.
19 Mai 2006 14:58:22

Citation :

vutom a écrit :
Citation :
qu'est ce que signifi une variable avec des [] : occurences[nombre_pas+deplacement]

signifie un tableau d'entiers de "nombre_pas+deplacement" cases.

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];)
20 Mai 2006 13:39:00

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
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS