Você está aqui: C++ ::: Dicas & Truques ::: Recursão (Recursividade) |
Como inverter uma string em C++ usando uma função recursivaQuantidade de visualizações: 710 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: #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 |