Bonjour tout le monde.
pourriez vous m'aide comprendre la logique de la récursivité est merci .
j’ai un problème de récursivité avec les chaines de caractères .Alors le problème consiste à inverser une chaine de caractères
Par exemple :
« Salut » devient « tulas »
Méthode de résolution :
On découpe le programme en deux fonctions, l’une est responsable de retourner la longueur de la chaine et l'autre fait le traitement de l'inversement.
J’ai tapé un code mais sa marche pas avec moi sur tout pendant l’utilisation de strcpy pour plus de détail voila mon code .merci pour votre attention .
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
25
26
27
28
29
30
31
32
33
34
35 #include<stdio.h> #include<string.h> #include<conio.h> int longchaine(char *ch) { if (*ch=='\0') return(0); else return(longchaine(ch+1)+1); } void inver(char *ch,char *chi) { if (*ch== '\0') puts(ch); else { inver(ch+1,chi); strcpy(ch,chi,1);//voila le problème puts(chi); }} int main () { int n,p; char *chi,*ch; printf("tapez une chaine de caracteres"); gets(ch); p=longchaine(ch); printf("longuer de chain est %d",n); *ch1=inver(ch); puts(ch1); getch(); return(0); }
Partager