Partage
  • Partager sur Facebook
  • Partager sur Twitter

[OCaml] Erreur sur des Array

Recherche d'un élément dans un tableau à 2 dimensions

Sujet résolu
    25 novembre 2018 à 23:31:49

    Bonjour,

    Voilà pour un projet sur un sudoku en OCaml je cherche à faire une fonction recherchant si un élément est dans un bloc de 3 par 3, soit 9 cases à parcourir, mais mon programme ne compile pas bien que pour des recherches sur une ligne ou colonne celle-ci fonctionne :

    let in_bloc vald grille i j = try
    let i_bloc = i - (i mod 3);
    let j_bloc = j - (j mod 3);
    for k = i_bloc to i_bloc + 2 do
    	for l = j_bloc to j_bloc + 2 do
    		if grille.(k).(l) = vald then raise Exit;done;done;
    false with Exit -> true
    
    let col = Array.make 9 0
    let grille = Array.make 9 col;
    
    for i = 0 to Array.length col - 1 do
        grille.(i).(i) <- 8;done;
    
    print_string (string_of_bool (in_bloc 8 grille 5 3));;

    Voilà je ne comprends pas le problème et meric d'avance pour votre réponse :D

    Ps: L'erreur se situe au niveau du false d'après le compilateur.

    • Partager sur Facebook
    • Partager sur Twitter
      26 novembre 2018 à 8:57:42

      On n'utilise pas de ";" à la fin d'un "let" dans une fonction, car ce sont des déclarations locales. Elles se terminent donc par "in".
      • Partager sur Facebook
      • Partager sur Twitter

      [OCaml] Erreur sur des Array

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown