Проверка строки на палиндром

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

Введение

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

Подключите необходимые библиотеки и определите функцию main()

Во - первых, мы подключим необходимые библиотеки и определим функцию main().

#include <iostream>
#include <string.h>

using namespace std;

int main() {
  // код будет здесь
  return 0;
}

Получите входную строку от пользователя

Далее мы получим входную строку от пользователя и сохраним ее в массив символов.

char inputStr[100];
cout << "Введите строку: ";
cin >> inputStr;

Получите длину входной строки

Мы вычислим длину входной строки с использованием функции strlen().

int strLength = strlen(inputStr);

Создайте массив для перевернутой строки

Далее мы создадим массив для перевернутой строки.

char reverseStr[strLength];

Переверните входную строку

Теперь мы перевернем входную строку и сохраним ее в новосозданный массив для перевернутой строки.

for(int i = 0; i < strLength; i++) {
    reverseStr[i] = inputStr[strLength - 1 - i];
}

Сравните исходную и перевернутую строки

Наконец, мы сравним исходную и перевернутую строки, чтобы проверить, является ли входная строка палиндромом или нет.

if(strcmp(inputStr, reverseStr) == 0) {
    cout << inputStr << " является палиндромом." << endl;
} else {
    cout << inputStr << " не является палиндромом." << endl;
}

Полный код

#include <iostream>
#include <string.h>

using namespace std;

int main() {
    char inputStr[100];
    cout << "Введите строку: ";
    cin >> inputStr;

    int strLength = strlen(inputStr);
    char reverseStr[strLength];

    for(int i = 0; i < strLength; i++) {
        reverseStr[i] = inputStr[strLength - 1 - i];
    }

    if(strcmp(inputStr, reverseStr) == 0) {
        cout << inputStr << " является палиндромом." << endl;
    } else {
        cout << inputStr << " не является палиндромом." << endl;
    }

    return 0;
}

Резюме

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