Bonjour, j'ai fait ce programme simple pour chiffrer son nom à l'aide d'une vesion du 'code de césar' qui consiste à remplacer chaque caractère du nom à crypter par le caractère qui le suis selon l'ordre ASCII :
Ce programme ne fonctionne pas tel qu'il est, plus précisement il n'affiche pas le nom chiffré, pour le faire fonctionner je doit remplacer dans la boucle
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 program Chiffr; uses wincrt; var ch,ch1:string;r,i:integer; begin writeln('Entrez votre nom : '); readln(ch); for i:=1 to length(ch) do begin r:=ord(ch[i])+1; if r=256 then r:=0; ch1[i]:=chr(r) end; writeln('Le cryptage de votre nom donne : '); writeln(ch1); end.par
Code : Sélectionner tout - Visualiser dans une fenêtre à part i:=1 to length(ch).
Code : Sélectionner tout - Visualiser dans une fenêtre à part i:=0 to length(ch)
Alors pourquoi ma boucle doit-elle commencer par i:=0 ?
Le premier caractère de la chaine 'ch' étant 'ch[1]' et non 'ch[0]'.
Merci
Partager