Exibir String ao Contrário

C++Beginner
Pratique Agora

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!