j 'essaye de developper un programme perl pour un correcteur d'orthographe automatique
comment modifier ce programme pour que je puisse enlever le caractere qui s'ajoute apres le test.
Enoncé :
Un correcteur d'orthographe. Les correcteurs d'orthographe font des hypothèses sur les erreurs que l'utilisateur a pu faire. Ainsi, on peut appliquer plusieurs opérations :
suppression d'une lettre, ajout d'une lettre, modifier une lettre, inversion de deux lettres adjacentes. Les correcteurs proposent des nouveaux mots, obtenus par ces opérations. Un dictionnaire,
tblwordform, est disponible pour vérifier que les nouveaux mots existent. Pour proposer des suggestions pour l'ajout, l'insertion ou la supprésion de lettres, on peut se servir de trigrammes de caractères (séquences de 3 lettres), qui permettront de les modifier.Enter a word:
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 printprint "Enter a word:\n"; chomp(my $word = <STDIN>); my @word = split //, $word; my $dico = "manger"; #mot qui sera remplace après par un dico foreach my $letter (0 .. $#word) { my @altered_word = @word; foreach my $ajout('m' .. 'o') { splice(@altered_word, $letter, 0, $ajout); my $altered_word = join "", @altered_word; print " Trying " , $altered_word, "\n"; if ($altered_word eq $dico) { print "\n$word seems to be misspelled. It should be $altered_word"; last; } }
mager
Trying mmager
Trying nmmager
Trying onmmager
Trying mmager
Trying mnmager
Trying monmager
Trying mamger
Trying manmger
Trying maonmger
Trying magmer
Trying magnmer
Trying magonmer
Trying magemr
Trying magenmr
Trying mageonmr
Partager