Bonjour,
J’essaie de programmer en OCaml mais je ne comprends pas ou est l’erreur. Le compilateur me dit qu’il me manque une parenthèse mais je n’arrive pas à voir ou
Voilà mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | let rec dec_to_bin a b c = match a with | 0 -> b | _ -> if a mod 2 = 0 then dec_to_bin (a/2)(b)(c+1) else begin b.(c) <- 1; dec_to_bin ((a-1)/2)(b)(c+1) end;; let n = read_int();; let p = read_int ();; let ar_of_int = Array.make n 0;; for i = 0 to n - 1 do ar_of_int.(i) <- read_int() done;; let c = ref 1;; for i = 0 to n do c := !c*2 done;; for i = 1 to !c do let mask = dec_to_bin (i)(Array.make n 0)(0) in let champ = ref 0 in for j = 0 to n-1 do champ := !champ + ar_of_int.(j)*mask.(j) if !champ = p then print_int (1) end done done;; |
Voilà le message d’erreur que j’ai : line 26, characters 6-8:
Error: Syntax error: ')' expected
, line 25, characters 41-42:
Error: This '(' might be unmatched
Merci d’avance !
+0
-0