Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1651 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [CAML] Ordre lexicographique et tableaux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[CAML] Ordre lexicographique et tableaux

n°1169890
higlander
Posté le 04-08-2005 à 14:44:12  profilanswer
 

Bonjour, :hello:
 
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 :
  1. let ordre_lexico t1 t2 =
  2. (*t1 et t2 tableaux*)
  3.   let i=0 and l=Array.length t1 and res=false in
  4.   while i<l && t1.(i)=t2.(i) do
  5.     i=i+1
  6.   done;
  7.   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 :jap:

mood
Publicité
Posté le 04-08-2005 à 14:44:12  profilanswer
 

n°1170644
higlander
Posté le 05-08-2005 à 13:40:49  profilanswer
 

J'ai trouvé l'erreur : il y a eu confusion entre l-value et r-value (mis en évidence à la ligne 5); il faut utiliser des pointeurs, le bon code est donc :
 

Code :
  1. let ordre_lexico t1 t2 =
  2. (*t1 et t2 tableaux*)
  3.   let i=ref 0 and l=Array.length t1 in
  4.   while !i<l && t1.(!i)=t2.(!i) do
  5.     i := !i+1
  6.   done;
  7. !i=l or t1.(!i)>t2.(!i);;


 
J'ai supprimé res qui ne servait à rien (et qui surtout n'était pas mis à jour correctement non plus  :heink:).


Message édité par higlander le 05-08-2005 à 13:57:30

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [CAML] Ordre lexicographique et tableaux

 

Sujets relatifs
Tri multi tableauxL'utilisation des tableaux est t-elle justifié ?
Problème de tableaux :s[perl]tableaux dynamiques
Tableaux multidimensionnels...Ordre de transmission des données d'un formulaire
tableaux php=>tableau javascriptles pointeurs , les tableaux ??? je mis perd
[PHP] Trier par ordre alphabétique 
Plus de sujets relatifs à : [CAML] Ordre lexicographique et tableaux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR