Langage ML
Fermé
hugo
-
20 févr. 2008 à 15:34
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 2 juin 2008 à 16:54
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 2 juin 2008 à 16:54
A voir également:
- Langage ML
- Langage ascii - Guide
- Melody ml - Télécharger - Lecture & Playlists
- Débuter langage batch windows - Guide
- Trojan:script/sabsik.fl.a!ml ✓ - Forum Virus
- Trojan:script/wacatac.b!ml ✓ - Forum Virus
2 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
2 juin 2008 à 16:54
2 juin 2008 à 16:54
Avec Caml Light :
let ajouter c v= (* #ajouter : char -> int vect -> int vect = <fun> *)
let n=int_of_char c in
v.(n)<-v.(n)+1;
v;;
let rec calcul s v= (* #calcul : string -> int vect -> int vect = <fun> *)
if s="" then v
else calcul (sub_string s 1 (string_length s -1)) (ajouter s.[0] v);;
let simplifier v= (* #simplifier : int vect -> (char * int) list = <fun> *)
let l=ref [] in
for k=0 to 255 do
if v.(k)>0 then l:= !l@[char_of_int k,v.(k)];
done;
!l;;
let frequence s= (* #frequence : string -> (char * int) list = <fun> *)
simplifier (calcul s (make_vect 256 0));;
let ajouter c v= (* #ajouter : char -> int vect -> int vect = <fun> *)
let n=int_of_char c in
v.(n)<-v.(n)+1;
v;;
let rec calcul s v= (* #calcul : string -> int vect -> int vect = <fun> *)
if s="" then v
else calcul (sub_string s 1 (string_length s -1)) (ajouter s.[0] v);;
let simplifier v= (* #simplifier : int vect -> (char * int) list = <fun> *)
let l=ref [] in
for k=0 to 255 do
if v.(k)>0 then l:= !l@[char_of_int k,v.(k)];
done;
!l;;
let frequence s= (* #frequence : string -> (char * int) list = <fun> *)
simplifier (calcul s (make_vect 256 0));;