Inverter uma Frase

C++Beginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá passo a passo como escrever um programa C++ que pode inverter qualquer frase de entrada usando recursão. O programa receberá uma frase de entrada do usuário e exibirá a frase invertida.

Incluir as Bibliotecas Necessárias

Em C++, para usar os objetos de fluxo de entrada/saída padrão como cin, cout, precisamos incluir a biblioteca iostream. Portanto, adicione o seguinte bloco de código no início do arquivo main.cpp:

#include <iostream>
using namespace std

Declarar uma Função de Inversão

Neste programa, precisamos de uma função para inverter a string recursivamente. Adicione o seguinte bloco de código após a declaração using namespace std;:

void reverse(const string& a);

Definir a Função Principal (main)

Como sabemos, a função main é o ponto de entrada do nosso programa. Na função main, pediremos ao usuário para inserir uma frase e passaremos essa frase para a nossa função reverse.

int main() {
  string str;

  cout << "Please enter a sentence: ";
  getline(cin, str);

  reverse(str);

  return 0;
}

Aqui, estamos pedindo ao usuário para inserir uma frase e, em seguida, estamos chamando nossa função reverse e passando a frase inserida como um argumento.

Definir a Função de Inversão

Agora, precisamos definir a função reverse que declaramos anteriormente. Usaremos recursão para inverter a frase inserida. Aqui está a implementação da função:

void reverse(const string& str) {
  size_t numOfChars = str.size();

  if(numOfChars == 1) {
    cout << str << endl;
  }
  else {
    cout << str[numOfChars - 1];
    reverse(str.substr(0, numOfChars - 1));
  }
}

Nesta função, primeiro calculamos o tamanho da string de entrada usando str.size(). Se o tamanho da string for 1, então é o caso base, e simplesmente imprimimos a última letra da frase de entrada. Caso contrário, imprimimos o último caractere e, em seguida, chamamos recursivamente a função reverse com a string excluindo a última letra.

Compilar e Executar

Terminamos de escrever nosso programa. Agora, precisamos compilar e executá-lo. Abra um terminal no diretório ~/project e use o seguinte comando para compilar o código:

g++ main.cpp -o main

Este comando gerará um executável chamado main. Agora, use o seguinte comando para executar o programa:

./main

Após executar o programa com sucesso, você pode ver a saída como:

Please enter a sentence: Study tonight
thgnot ydutS

Resumo

Neste laboratório, você aprendeu como escrever um programa C++ que pode inverter uma frase usando recursão. Você implementou uma função reverse que usa recursão para inverter a frase inserida e, em seguida, chamou essa função na função main com a frase de entrada como um argumento. Finalmente, você compilou e executou o programa no terminal para ver a saída.