le message doit etre codé selon la clé suivante:
a b
c d
multiplié par deux chiffres de la chaine précédente et a chaque fois on prend 2...
le message doit etre codé selon la clé suivante:
a b
c d
multiplié par deux chiffres de la chaine précédente et a chaque fois on prend 2...
c'est bon j'ai utilisé function ord je vous remercie pour votre aide des que je rencontre un problem je vous le dit merciiii
bonjour,
pour le fun..
cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 program ascii; var i:integer; begin for i:=97 to 122 do begin writeln(i,' ',char(i),' ',ord(char(i)) ); end; readln; end.
bonjour joreveur
je vous remercie pour votre réponse ,je l'ai resolu en utilisant une fonction qui a pour entré un caractere et sa sortie est un entier
mais mon problem c'est que je dois multiplier chaque deux chiffre d'une chaine par une matrice (a b)
(c d)
mais je ne sais pas comment faire pour la decomposer j'ai deja fait le produit des deux premier mais pour le reste....
si tu mets tes codes dans un tableau et que le mot à coder est un autre tableau ça ne t'aiderais pas ?
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
18
19
20
21
22
23
24 program codeascii; var i:integer; tableau: array[1..26] of char; mot:string; begin // mettre de a à z dans un tableau simple for i:=1 to 26 do begin tableau[i]:=char(i+96); end; write('quel mot à coder ? '); readln(mot); writeln; // relire les lettres du mot et afficher ce qu'il y a dans la tableau for i:=1 to length(mot) do begin write(tableau[ord(mot[i])-96],' '); end; writeln; readln; end.
Et comment je prends deux éléments a chaque fois à part et les multiplie par un code...
Voilà mon code :
mais ce code est appliquable seulement pour les deux premiers chiffres mais pour le reste je ne sais pas comment parcourir la chaîne; pour les inscrire dans un autre tableau, je n'ai pas su faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 begin r[k]:=0; for k:=1 to 2 do for i:=1 to 2 do r[k]:=(r[k]+t[k,i]*dor(x[i]))mod 26 for k:=1 to length(x) do writeln('r[k]:',r[k]); reqdln(r[k]); end.
Bonjour,
pour lire les caractères d'une chaîne tu fais une boucle
exemple
ce qui donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 program test1; var i:integer; chaine:string; begin chaine:='bonjour'; for i:=1 to length(chaine) do begin writeln(chaine[i]); end; readln; end.
b
o
n
j
o
u
r
je sais comment lire mon probleme c'est comment prendre a chaque fois deux chiffres de la chaine et les multiplier par un code
(a b)
(c d)
il faut les prendre deux par deux
Bon, il faudrait mettre un peu du tien, parce que là c'est du travail mâché. Si tu sais lire un caractère de la chaîne, tu sais en lire 2, suffit de réfléchir un petit peu.
ok je vais essayer une autre fois merci
Bonjour,
Voilà mon code :
Je ne vois pas où est mon erreur...
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 i,k:integer; x:string begin for i:=1 to length(x) do if(i mod 2)=1 then begin writeln(dor(x[i],dor(x[i+1]); readln; r[k]:=0; for k:=1 to 2 do for i:=1 to 2 do r[k]:=(r[k]+t[k,i]*dor(x[i]))mod 26 for k:=1 to 2 do writeln('r[k]:'r[k]); readln; end; end.
bonsoir...
tu as essayé de compiler ?
il y a des variables non déclarées dor par exemple
des points-virgules manquants
des parenthèses manquantes
etc... etc.
alors essaie de reprendre
en marquant sur un papier ce que tu veux faire
déclare toutes tes variables
respecte la syntaxe
indente le code ... ce sera plus clair.
bon courage.
bonjour joreveur
j'ai tout déclaré mais je vous ai ecris juste une partie!!!
là ou l'erreur se trouve alors se serait sympa de votre part de me le corriger
Bonjour,
Il peut y avoir plusieurs types "d'erreurs"
Erreurs de syntaxe.
si tu essaies de compiler... tu vas déjà voir que ton compilateur te signale des erreurs.Erreurs de logique
respecte bien la syntaxe et indente ça sera plus clair
le programme ne fait pas ce que tu attends
dans ce cas reprends sur papier la logique et recode .
Quand tu mets ici sélectionne ton code, sélectionne et clique sur l’icône # au dessus
je crois que tu ne dois pas tout attendre du forum, des autres mais tu dois t'investir. L’informatique ce n'est pas que du copier/coller du code des autres même si des fois ça dépanne, mais ce ne doit pas être la règle.
voila, à te lire, amicalement
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager