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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/strings -.-> lab-96180{{"Проверка строки на палиндром"}} cpp/conditions -.-> lab-96180{{"Проверка строки на палиндром"}} cpp/for_loop -.-> lab-96180{{"Проверка строки на палиндром"}} cpp/output -.-> lab-96180{{"Проверка строки на палиндром"}} cpp/user_input -.-> lab-96180{{"Проверка строки на палиндром"}} cpp/files -.-> lab-96180{{"Проверка строки на палиндром"}} cpp/code_formatting -.-> lab-96180{{"Проверка строки на палиндром"}} end

Создание нового проекта и файла

Перейдите в текущую директорию в директорию проекта с помощью команды:

cd project

Далее мы создадим новый файл на C++ внутри этой папки проекта с использованием редактора, такого как touch или Vim. В этом лабораторном задании мы создадим файл с именем main.cpp с помощью команды:

touch main.cpp

Пишем код на C++ для проверки на палиндром

  • В нашей программе на C++ мы можем использовать библиотеку string для ввода строки от пользователя и выполнения проверки на палиндром. Вот простая программа, которая это делает:
#include <bits/stdc++.h>
using namespace std;
int main() {
    string str, output;
    cout << "Enter a string: ";
    cin >> str;
    int n = str.length();
    for (int i = 0; i < n / 2; i++) {
        if (str[i]!= str[n - i - 1]) {
            output = "Given string is not a Palindrome";
            break;
        }
        else {
            output = "Given string is a Palindrome";
        }
    }
    cout << output << endl;
return 0;
}

Компиляция и запуск кода

  • Скомпилируйте код с использованием компилятора g++ в терминале с помощью следующей команды:
g++ main.cpp -o main
  • После успешной компиляции кода мы можем теперь выполнить программу с помощью следующей команды:
./main
  • Программа попросит нас ввести строку. Мы можем ввести любую строку, и программа покажет, является ли она палиндромом или нет.

Финальный код

Вот полный код на C++ для проверки, является ли заданная строка палиндромом:

#include <bits/stdc++.h>
using namespace std;
int main() {
    string str, output;
    cout << "Enter a string: ";
    cin >> str;
    int n = str.length();
    for (int i = 0; i < n / 2; i++) {
        if (str[i]!= str[n - i - 1]) {
            output = "Given string is not a Palindrome";
            break;
        }
        else {
            output = "Given string is a Palindrome";
        }
    }
    cout << output << endl;
return 0;
}

Резюме

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