Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

Même variable utilisé par deux programmes distincts. (Caml)

Posté par
germi
18-01-09 à 17:55

Alors que j'ai l'idée de fond je n'arrive pas à concrétiser un programme que je fais sous Caml, en même temps comme je débute... Voici le problème:

J'ai d'abord réalisé une sous programme que j'ai appelé compteur et qui est censé compté le nombre  d'occurrences pour un nombre donné a que vais vouloir incrémenté par la suite, cela donne ceci :

let compteur t =  
    let c = ref( 0 ) and n = vect_length t in      
        for k = 0 to n do
            if t.(k) = !a then c:= !c + 1        
        done ;
    c;;
Je ne sais pas si j'ai bien fait de ne pas définir a dans compteur mais mon idée c'est de le définir en même temps qu'un autre programme qui se sert de compteur; trieur :

let trieur t  =
    let c = ref( 0 ) and a = ref( 0 ) and n = vect_length t and i = ref( 0 ) in
        while i <= n do
            while ( i < compteur(t) ) & ( !a < max ) & ( !c <= n ) do
                                                        t.(i) <- !a
                                                        i:= !i+ !c +                                                      
                                                     done;
                                                     c:= 0;
                                                     let a:= !a + 1;
         done;
    t;;
            

De plus le même problème se pose pour c et i (même n) pour lesquels j'ai du redéfinir la valeur dans trieur alors qu'il préexistait dans compteur.
A noter que je veux que trieur puisse incrémenter a dans compteur.
J'ignore si c'est possible et je m'y suis certainement mal pris.

   merci d'avance pour l'aide

édit Océane : forum modifié



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !