Bonjour,
Je dois programmer une fonction déterminant si un vecteur est égal ou plus grand qu'un autre vecteur suivant l'ordre lexicographique. Pour cela j'ai représenté les vecteurs via des tableaux ; voici le code :
Code :
- let ordre_lexico t1 t2 =
- (*t1 et t2 tableaux*)
- let i=0 and l=Array.length t1 and res=false in
- while i<l && t1.(i)=t2.(i) do
- i=i+1
- done;
- res = (i=l or t1.(i)>t2.(i));;
|
L'interpréteur m'indique à la ligne 5 :
Warning: this expression should have type unit.
i=i+1
^^^^^
val ordre_lexico : 'a array -> 'a array -> bool = <fun>
Quelqu'un peut m'expliquer ce warning ? D'autre part, il m'est impossible de tester la fonction : si j'essaie
ordre_lexico [|1;2;3|] [|1;2;3|];;
il ne se passe rien. Pas de message d'erreur, rien. Je suis obligé de faire un Ctrl-C pour récupérer le prompt. Je pense que cela vient du warning, d'habitude même avec un warning on peut tester...
Merci pour votre aide