Pour inverser une chaine, tu peux t'y prendre de la manière suivante :
tu inverses le premier et le dernier caractère de la chaine
et tu rappelles ta fonction pour inverser le reste de la chaine
Ce qui donne :
string retourne(string str,int debut,int fin){
if(debut<fin){
char tmp=str[debut];//inversion du premier et du dernier caractère
str[debut]=str[fin];
str[fin]=tmp;
return retourne(str,debut+1,fin-1);
}else{//si la variable debut est plus grande que la variable fin, c'est qu'on a renversé toute la chaine
return str;
}
}
Pour inverser une chaine, tu peux t'y prendre de la manière suivante :
tu inverses le premier et le dernier caractère de la chaine
et tu rappelles ta fonction pour inverser le reste de la chaine
Ce qui donne :
string retourne(string str,int debut,int fin){
if(debut<fin){
char tmp=str[debut];//inversion du premier et du dernier caractère
str[debut]=str[fin];
str[fin]=tmp;
return retourne(str,debut+1,fin-1);
}else{//si la variable debut est plus grande que la variable fin, c'est qu'on a renversé toute la chaine
return str;
}
}
Si tu as des questions n'hésite pas
Bonne chance
les variables debut et fin tu les initialise comment ?
Debut=0 et fin= str.length()? le return dans la condition if est -til nécessaire ou peut juste appeler la fonction 'retourne' sans l'utiliser.
debut=0 et fin=str.length()-1 (tu remarques que j'accède à str[fin], donc si fin=str.length() on risque d'avoir quelques soucis...)
Pour le return il est bien nécessaire il te permet de renvoyer une chaine "mieux retournée" (grâce à un appel supplémentaire à retourne())
Si tu as des problèmes avec la récursivité je te conseille de (re)lire le tuto sur ce site à ce sujet
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Je ferme ce sujet. En cas de désaccord, me contacter par MP.
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles - ♡ Copying is an act of love.
🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles - ♡ Copying is an act of love.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)