Algorithme pour changer les lettres d'un mot donné
Bonjour
Je n'ai absolument aucune connaissances en maths, algo, programmation mais peut-être quelqu'un pourra-t-il s'amuser avec cet exercice et me donner un coup de main...
Je prépare un projet artistique. Mon travail actuel joue avec les mots et la typographie.
Je pars d'un mot de départ. Par exemple "art"
le "a" peut être remplacé par les 2 lettres suivantes: "a" (lui-même) ou "h"
le "r" peut être remplacé par les 5 lettres suivantes: "r" (lui-même), "i", "n", "t", ou "w"
le "t" peut être remplacé par les 4 lettres suivantes: "t" (lui-même), "a", "e" ou "z"
Si je me rappelle bien de mes cours de secondaire, il en résulte 40 (2x5x4) possibilités de mots différents.
La plupart ne veulent rien dire mais quelques uns ont un sens.
C'est le cas pour "ara", "aïe", "ane" ou "hit".
Ce sont ces mots qui m'intéressent.
J'aimerais refaire ce jeu avec n'importe quel mot de mon choix.
Avec un mot de 3 lettres comme dans mon exemple, je peux faire ça à la main, c'est pas trop long.
Mais avec des mots plus longs, ça devient tout de suite plus compliqué.
En résumé:
-Chaque lettre de l'alphabet peut être remplacée par x lettres (dont elle-même) que je détermine au départ.
-je donne un mot de mon choix
-une liste de mots est générée (chaque lettre garde sa position initiale)
-La liste générée est comparée à une liste type dictionnaire.
Au final, j'obtiens une liste de mots qui ont du sens et que j'utiliserai dans mes créations.
Merci, si ce n'est pour votre aide, au moins d'avoir parcouru ma bafouille jusqu'à la fin ;)
algorithme pour changer les lettres d'un mot donné?
Pour commencer merci pour l'aide!
mais comme je disais dans ma question initiale, je suis un nullos.
Ok, la première fenêtre de code...
j'ai créé un document "conversion.txt"
Je mets les lettres de l'alphabet du mot qui m'interesse avec leurs correspondances.
J'ai enregistré et je l'ai rangé dans un fichier intitulé "motsdoubles" sur mon bureau.
Pour la deuxième fenêtre, je suis sur mac, j'ai ouvert le terminal et copié collé le script bash.
J'actionne la touche retour et ça me donne:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| MacBook-Pro-de-MD:~ md$ #!/bin/bash
MacBook-Pro-de-MD:~ md$
MacBook-Pro-de-MD:~ md$ mot=$1
MacBook-Pro-de-MD:~ md$
MacBook-Pro-de-MD:~ md$ m=$(sed 's/./& /g;s/ $//' <<<$mot)
MacBook-Pro-de-MD:~ md$ motif=$(echo "$m" | awk '(FNR==NR){a[$1]=$2;next} {printf("^");for (i=1;i<=NF;i++) if (a[$i]!="") printf("[%s]",a[$i]); else printf("[%s]",$i); printf("$\n");}' conversion.txt - )
awk: can t open file conversion.txt
source line number 1
MacBook-Pro-de-MD:~ md$
MacBook-Pro-de-MD:~ md$ if ! grep -i "$motif" dictionnaire.txt
> then
> echo "Aucun mot ne sied."
> fi
grep: dictionnaire.txt: No such file or directory
Aucun mot ne sied.
MacBook-Pro-de-MD:~ md$ |
Si je comprend bien, il ne trouve pas le document "conversion.txt"
Comment lui indiquer le chemin?
Il ne trouve pas non plus le document "dictionnaire.txt".
Normal, je ne l'ai pas crée.
mais où dois-je ranger ce fichier et comment je lui indique le chemin?
Bonne soirée à tous les experts!