Programme en c
Résolu
haddadmarc
Messages postés
59
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
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
- Message programmé iphone - Guide
- Programme word gratuit - 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.