Bonjour,
dans le cadre d'une fonction déterminant par dichotomie la présence ou non d'un élément dans un tableau trié que voici :
Caml me reproche l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 let rec dicho x tab = if vect_length tab = 1 && tab.(0) <> x then false else let i = if (vect_length tab) mod 2 = 1 then (vect_length tab +1) /2 -1 else (vect_length tab) /2 -1 in if tab.(i) > x then dicho x ( sub_vect tab 0 (i-1) ) else if tab.(i) < x then dicho x ( sub_vect tab (i+1) (vect_length tab -1) ) else if tab.(i) = x then true ;;
J'avoue que j'ai du mal à voir ce qui cloche, merci de m'éclairer !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Entrée interactive: > ............if tab.(i) = x > then true Cette expression est de type unit, mais est utilisée avec le type bool. #
Partager