Você está aqui: C++ ::: Dicas & Truques ::: Recursão (Recursividade) | 
           
               Como inverter uma string em C++ usando uma função recursivaQuantidade de visualizações: 771 vezes | 
           
| 
      Nesta dica vamos novamente falar de recursão e recursividade em C++, ou seja, funções que chamam a si mesmas. Dessa vez vamos escrever uma função recursiva que inverte a ordem dos caracteres de uma palavra, frase ou texto. Veja o código C++ completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <iostream>
using namespace std;
 
// função recursiva para inverter uma string 
void inverter_string(string& str, int n, int i){
  // caso base? 
  if (n <= i){
    return;
  }
  
  // troca os dois caracteres de lugar
  swap(str[i], str[n]);
  
  // e chama a função mais uma vez
  inverter_string(str, n - 1, i + 1);
}
 
// função principal do programa 
int main(int argc, char *argv[]){
  // vamos criar uma nova string
  string frase = "Gosto de programar em C++";
  cout << "String original: " << frase << endl;
  
  // agora vamos inverter a string
  inverter_string(frase, frase.length() - 1, 0);
  
  // e mostramos o resultado
  cout << "String invertida: " << frase << endl;
   
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: String original: Gosto de programar em C++ String invertida: ++C me ramargorp ed otsoG  | 
                
| 
                   | 
                
Desafios, Exercícios e Algoritmos Resolvidos de C++  | 
           
Veja mais Dicas e truques de C++  | 
           
Dicas e truques de outras linguagens  | 
           
E-Books em PDF  | 
           ||||
               
               
  | 
           ||||
               
               
  | 
           ||||
Linguagens Mais Populares  | 
           ||||
|     
                
			   1º lugar: Java  | 
           






