Перевернуть предложение

C++Beginner
Практиковаться сейчас

Введение

В этом практическом занятии вы последовательно научитесь писать программу на C++, которая может перевернуть любую введенную фразу с использованием рекурсии. Программа будет запрашивать у пользователя исходную фразу и выводить перевернутую ее версию.

Подключите необходимые библиотеки

В C++ для использования стандартных объектов ввода/вывода потоков, таких как cin, cout, нам нужно подключить библиотеку iostream. Поэтому добавьте следующий код в начале файла main.cpp:

#include <iostream>
using namespace std

Объявите функцию для переворота

В этой программе нам нужна функция для рекурсивного переворота строки. Добавьте следующий код после инструкции using namespace std;:

void reverse(const string& a);

Определите главную функцию

Как мы знаем, функция main является точкой входа в нашу программу. В функции main мы попросим пользователя ввести предложение и передадим это предложение нашей функции reverse.

int main() {
  string str;

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

  reverse(str);

  return 0;
}

Здесь мы просим пользователя ввести предложение, а затем вызываем нашу функцию reverse и передаем введенное предложение в качестве аргумента.

Определите функцию для переворота

Теперь нам нужно определить функцию reverse, которую мы объявляли ранее. Мы будем использовать рекурсию для переворота введенного предложения. Вот реализация функции:

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));
  }
}

В этой функции мы сначала вычисляем длину входной строки с помощью str.size(). Если длина строки равна 1, то это базовый случай, и мы просто выводим последнюю букву входного предложения. В противном случае мы выводим последний символ, а затем рекурсивно вызываем функцию reverse с строкой, исключая последнюю букву.

Компилируйте и запустите

Мы закончили писать нашу программу. Теперь нам нужно скомпилировать и запустить ее. Откройте терминал в директории ~/project и используйте следующую команду для компиляции кода:

g++ main.cpp -o main

Эта команда создаст исполняемый файл с именем main. Теперь используйте следующую команду для запуска программы:

./main

После успешного запуска программы вы увидите вывод в виде:

Please enter a sentence: Study tonight
thgnot ydutS

Резюме

В этом практическом занятии вы узнали, как написать программу на C++, которая может перевернуть предложение с использованием рекурсии. Вы реализовали функцию reverse, которая использует рекурсию для переворота введенного предложения, а затем вызвали эту функцию в функции main с входным предложением в качестве аргумента. Наконец, вы скомпилировали и запустили программу в терминале, чтобы увидеть вывод.