Tête de la copie : Langage C
Question 1 : hudomzxjmwzup
Question 2 :
- Code: Tout sélectionner
#include <stdio>
#include <string>
char * codageCesar(char * t, int n, int d);
int main()
{
char t[]="ave cesar";
char * t2;
int n=strlen( t);
int d=25;
t2=codageCesar(t, n, d);
printf("%s\n%s", t, t2);
return 0;
}
char * codageCesar(char * t, int n, int d){
char t2[255];
int i;
for (i = 0 ; i < n ; i++){
if (t[i]!=' '){
if (t[i]+d<='z'){
t2[i]=t[i]+d;
}
else{
t2[i]=t[i]+d-26;
}
}
else{
t2[i]=' ';
}
}
t2[n]="\0";
return t2;
}
Pour ceux qui n'ont pas Linux et qui veulent voir ce que ça donne, voici un compilateur :
http://www.codeblocks.org/Une fois dans le programme :
- créer un nouveau projet
- console d'application
- choisir C
- donner le nom
- ensuite cliquer sur le "+" devant "sources" et double cliquez sur "main"
- et là : y a plus qu'à écrire le programme

- une fois le programme fini : cliquer sur le bouton avec la petite fleche rouge (appeler : build and run)
- il exécutera "ave cesar" en "zud bdrzq", et si vous souhaitez traduire autre chose : il suffit de le changer dans la source, tout comme "d" ... (sinon il aurait fallu utiliser "printf" et "scanf" .......

)

Déchiffrement :
- Code: Tout sélectionner
char * codageCesar(char * t, int n, int d);
int main()
{
char t[]="zud bdrzq";
char * t2;
int n=strlen( t);
int d=25;
t2=decodageCesar(t, n, d);
printf("%s\n%s", t, t2);
return 0;
}
char * decodageCesar(char * t, int n, int d){
char t2[255];
int i;
for (i = 0 ; i < n ; i++){
if (t[i]!=' '){
if (t[i]-d<'a'){
t2[i]=t[i]-d+26;
}
else{
t2[i]=t[i]-d;
}
}
else{
t2[i]=' ';
}
}
t2[n]="\0";
return t2;
}