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 :