Programme en c
Résolu/Fermé
haddadmarc
Messages postés
59
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2012
-
17 déc. 2008 à 23:07
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 déc. 2008 à 00:37
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 déc. 2008 à 00:37
A voir également:
- Programme en c
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
- Programme bonjour ✓ - Forum Windows
- Programme démarrage windows 10 - Guide
2 réponses
Wardog
Messages postés
389
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
17 octobre 2009
159
17 déc. 2008 à 23:42
17 déc. 2008 à 23:42
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.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
18 déc. 2008 à 00:37
18 déc. 2008 à 00:37
Salut,
Le cas particulier est traité facilement par le modulo.
Par exemple :
Cdlt
Le cas particulier est traité facilement par le modulo.
Par exemple :
#include <stdio.h>
#include <string.h>
#define DEC 3
int main(void){
char mot[]="bonjour ca va";
char *str=mot;
for(int i=0;i<strlen(mot);i++){
*str = (*str -'a' + DEC)% 26 + 'a';
str++;
}
puts(mot);
return 0;
}
Cdlt