Programme en c
Résolu
haddadmarc
Messages postés
66
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
j'ai un petit probleme avec un programme en c.
ce programme utilise le chiffrement de cesar (decalage par substitution de 3 lettres)
je suis debutant en c mais je sais que je dois passer par une boucle (for) mais le probleme c'est que je n'y arrive pas
aidez moi s'il vous plait
merci
j'ai un petit probleme avec un programme en c.
ce programme utilise le chiffrement de cesar (decalage par substitution de 3 lettres)
je suis debutant en c mais je sais que je dois passer par une boucle (for) mais le probleme c'est que je n'y arrive pas
aidez moi s'il vous plait
merci
A voir également:
- Programme en c
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
2 réponses
Bonsoir,
C'est très simple, tu parcours ta chaine jusqu'à la fin \0 en copiant chaque caractère dans une chaine mallocé en decalant le caractere de 3.
En gros sa donne,
char *str;
char *cesar;
char *temp;
str = "bonjour sa va";
cesar = malloc((strlen(str) + 1) * sizeof(*cesar));
temp = cesar;
while (*str != '\0')
{
*cesar = *str + 3;
cesar++;
str++;
}
*cesar = '\0';
printf("%s\n", str);
printf("%s\n", temp);
free(cesar);
Il faudra bien sûr gérer les cas spéciaux du genre X Y et Z pour qu'il reviennent sur A B et C.
C'est très simple, tu parcours ta chaine jusqu'à la fin \0 en copiant chaque caractère dans une chaine mallocé en decalant le caractere de 3.
En gros sa donne,
char *str;
char *cesar;
char *temp;
str = "bonjour sa va";
cesar = malloc((strlen(str) + 1) * sizeof(*cesar));
temp = cesar;
while (*str != '\0')
{
*cesar = *str + 3;
cesar++;
str++;
}
*cesar = '\0';
printf("%s\n", str);
printf("%s\n", temp);
free(cesar);
Il faudra bien sûr gérer les cas spéciaux du genre X Y et Z pour qu'il reviennent sur A B et C.