Introdução
Neste laboratório, você aprenderá como escrever um programa C++ para exibir uma string dada ao contrário. Existem múltiplas abordagens para reverter uma string em C++. Exploraremos dois métodos diferentes: usando uma função de reversão personalizada que construiremos nós mesmos e usando a função reverse embutida em C++.
Função personalizada para reverter uma string
Primeiramente, vamos escrever uma função personalizada para reverter uma string dada. Esta função irá trocar o primeiro caractere com o último, depois o segundo com o penúltimo, e assim por diante, até que toda a string seja revertida.
Crie a função reverseStr e passe a string por referência. Desta forma, podemos modificar a string original em vez de retornar uma nova. A função terá um loop for que irá trocar os caracteres em ambos os lados da string, trabalhando gradualmente para dentro até que toda a string seja revertida.
#include<iostream>
#include<string>
using namespace std;
void reverseStr(string& str) {
int n = str.length();
for (int i = 0; i < n / 2; i++) {
swap(str[i], str[n - i - 1]);
}
}
Usando a função 'reverse' embutida
C++ também fornece uma função embutida para reverter uma string, que está presente no arquivo de cabeçalho <algorithm>. Podemos usar a função reverse() passando a posição inicial e final da string a ser revertida.
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string str = "hello";
reverse(str.begin(), str.end());
cout << str;
return 0;
}
Testando o Programa
Vamos testar o programa usando qualquer um dos métodos mencionados acima. Para fazer isso, simplesmente chame a função que você acabou de criar ou a função reverse() embutida. Passe a string que você deseja reverter como um argumento para a função.
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
void reverseStr(string& str) {
int n = str.length();
for (int i = 0; i < n / 2; i++) {
swap(str[i], str[n - i - 1]);
}
}
int main() {
string myString = "Hello World!"; //define a string to be reversed
//Method 1
cout << "REVERSED STRING USING CUSTOM FUNCTION:\n";
reverseStr(myString); //calling the custom function to reverse the string
cout << myString << endl;
//Method 2
cout << "\nREVERSED STRING USING INBUILT 'REVERSE' FUNCTION:\n";
reverse(myString.begin(), myString.end()); //calling the inbuilt function to reverse the string
cout << myString << endl;
return 0;
}
Resumo
Neste laboratório, aprendemos como escrever um programa C++ para exibir uma string dada ao contrário. Exploramos dois métodos diferentes - usando uma função personalizada que criamos e usando a função reverse embutida em C++. Também testamos o programa usando ambos os métodos, chamando as funções. Agora você pode reverter qualquer string em pouco tempo!



