algorith
Messages postés1Date d'inscriptiondimanche 19 avril 2015StatutMembreDernière intervention19 avril 2015
-
Modifié par algorith le 19/04/2015 à 20:10
algo -
21 avril 2015 à 15:49
Bonjour, alors voila je dois créer un programme de type de codage. Ce programme doit coder un texte en caractère c'est à dire par exemple si je lui écrit bonjour il me le code en -+/*)@%. J'étais parti dans l'idée de 2 tableaux, dans le premier toutes les lettres de l'alphabet et dans le deuxième, tous les caractères que je veux utiliser. Ensuite créer une fonction qui permettra de décortiquer le mot c'est à dire par exemple bonjour, la fonction commencera par la lettre B, elle retrouvera sa position dans le tableau 1 donc la pos2 et ensuite associera la pos 2 au caractère dans le tableau 2. je sais pas si je suis claire ou si je suis dans le bon chemin. Merci de votre aide.
Whismeril
Messages postés19024Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention18 avril 2024656 19 avril 2015 à 20:05
Bonjour,
Afin d'espérer obtenir une réponse de quelque qui sait (pas moi en l'occurrence), merci poster le morceau de code qui pose problème, voir ici comment utiliser la coloration syntaxique. S'il y a un message d'erreur retranscrivez le dans son intégralité, en précisant à quelle ligne apparait cette erreur.
Penser que le titre doit refléter le contenu de la demande, "Question", "Programme" ou "Java", ne sont ni accrocheurs, ni utiles. Il semble évident qu'une question posée sur un forum de programmation Java tournera autour d'un problème lié à ce langage.
Merci donc de reformuler ta demande en respectant ces quelques points.
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 20 avril 2015 à 08:58
Salut
Tu es sur le bon chemin avec ce type de codage (il y en beaucoup d'autres)
En gros tu mets dans chaine1 toutes les lettres à coder (toutes différentes)
Tu mets dans Chaine2 les lettres de subtitution (toutes différentes)
pour coder tu fais une boucle sur toutes les lettre du mot à coder :
z := ''; (résultat)
C1 := MOT[I]
x := pos(C1,Chaine1)
C2 := Chaine2[x]
z := Z + C2
c'est le principe, à adapter en delphi !!
cordialement
korgis
Messages postés420Date d'inscriptionsamedi 17 mai 2003StatutMembreDernière intervention 6 mai 201917 20 avril 2015 à 10:55
Salut,
exemple de méthodes (à améliorer, c'est pour montrer le principe de fonctionnement), mais le système de cryptage que tu veux développer n'est pas du tout inviolable :
function Code(s: string): string;
const
Alpha = ' abcdefghijklmnopqrstuvwxyzéèêëùàç';
Crypt = ' &3+¤?[}|~@-")<%*>/{°]µ^(!£=çà$0\.';
var
i: Integer;
Position: Integer;
begin
Result := '';
for i := 1 to Length(s) do
begin
Position := Pos(AnsiLowerCase(s[i]), Alpha);
if Position > 0 then
Result := Result + Crypt[Position]
else
Result := Result + '_';
end;
end;
function Decode(s: string): string;
const
Alpha = ' abcdefghijklmnopqrstuvwxyzéèêëùàç';
Crypt = ' &3+¤?[}|~@-")<%*>/{°]µ^(!£=çà$0\.';
var
i: Integer;
Position: Integer;
begin
Result := '';
for i := 1 to Length(s) do
begin
Position := Pos(AnsiLowerCase(s[i]), Crypt);
if Position > 0 then
Result := Result + Alpha[Position]
else
Result := Result + '_';
end;
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin
Memo2.Text := Code(Memo1.Text);
Memo3.Text := Decode(Memo2.Text);
end;
+_?{° °%]° {~)*"? _ (*)
(*) C'est tout simple !
dubois77
Messages postés675Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention19 février 201914 21 avril 2015 à 08:47
Sympa Korgis, mais tu lui mâches trop le travail : il devait créer un programme aussi je ne sais pas si cela va bien lui profiter
J'espère qu'il nous passera son code terminé pour voir !
Cordialement
Merci à tous de votre aide, tout compte fait je vais procéder d'un autre manière je vais directement associer chaque lettre avec son caractère ascii à un caractère. par exemple, a =@ ,b = %, c = ! ainsi de suite je vais essayer comme ça et voir ce que ça donne. si j'y arrive je le posterai c'est pour un examen .