Введение
В этом практическом занятии вы научитесь писать программу на C++, которая выводит заданную строку в обратном порядке. В C++ существуют несколько подходов к реверсу строки. Мы рассмотрим два различных метода: использование собственной функции reverse, которую мы напишем сами, и использование встроенной функции reverse в C++.
Собственная функция для реверса строки
Сначала напишем пользовательскую функцию для реверса заданной строки. Эта функция будет менять местами первый символ с последним, второй с предпоследним и так далее, пока вся строка не будет перевернута.
Создадим функцию reverseStr и передадим строку по ссылке. Таким образом, мы сможем изменить исходную строку, а не возвращать новую. Функция будет иметь цикл for, который будет менять местами символы с обоих сторон строки, постепенно двигаясь внутрь, пока вся строка не будет перевернута.
#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]);
}
}
Использование встроенной функции'reverse'
C++ также предоставляет встроенную функцию для реверса строки, которая находится в заголовочном файле <algorithm>. Мы можем использовать функцию reverse(), передав начальную и конечную позиции строки для реверса.
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main() {
string str = "hello";
reverse(str.begin(), str.end());
cout << str;
return 0;
}
Тестирование программы
Протестируем программу, используя любой из вышеперечисленных методов. Для этого просто вызовите функцию, которую только что создали, или встроенную функцию reverse(). Передайте в функцию в качестве аргумента строку, которую хотите перевернуть.
#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;
}
Резюме
В этом практическом занятии мы научились писать программу на C++, которая выводит заданную строку в обратном порядке. Мы рассмотрели два различных метода: использование собственной функции, которую мы создали сами, и использование встроенной функции reverse в C++. Мы также протестировали программу с использованием обоих методов, вызвав функции. Теперь вы можете мгновенно перевернуть любую строку!



