Prüfen, ob ein String ein Palindrom ist

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du ein C++-Programm schreibst, das überprüft, ob ein gegebener String ein Palindrom ist oder nicht. Ein Palindrom ist ein String, der gleich ist wie seine Umkehrung. Um nach einem Palindrom zu suchen, werden wir den gegebenen String umkehren und ihn mit dem Original vergleichen. Wenn beide Strings gleich sind, ist der gegebene String ein Palindrom, andernfalls nicht.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/arrays("Arrays") 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/StandardLibraryGroup -.-> cpp/string_manipulation("String Manipulation") cpp/SyntaxandStyleGroup -.-> cpp/comments("Comments") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/arrays -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} cpp/strings -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} cpp/conditions -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} cpp/for_loop -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} cpp/output -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} cpp/user_input -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} cpp/string_manipulation -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} cpp/comments -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} cpp/code_formatting -.-> lab-96181{{"Prüfen, ob ein String ein Palindrom ist"}} end

Importiere erforderliche Bibliotheken und definiere die main()-Funktion

Zunächst importieren wir die erforderlichen Bibliotheken und definieren die main()-Funktion.

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

using namespace std;

int main() {
  // Code hier einfügen
  return 0;
}

Holen Sie sich die Eingabezeichenfolge vom Benutzer

Als nächstes werden wir die Eingabezeichenfolge vom Benutzer erhalten und sie in einem Zeichenarray speichern.

char inputStr[100];
cout << "Geben Sie einen String ein: ";
cin >> inputStr;

Bestimmen Sie die Länge der Eingabezeichenfolge

Wir werden die Länge der Eingabezeichenfolge mit der strlen()-Funktion berechnen.

int strLength = strlen(inputStr);

Erstellen Sie ein Array für die umgekehrte Zeichenfolge

Als nächstes werden wir ein Array für die umgekehrte Zeichenfolge erstellen.

char reverseStr[strLength];

Kehren Sie die Eingabezeichenfolge um

Wir werden nun die Eingabezeichenfolge umkehren und sie im neu erstellten Array für die umgekehrte Zeichenfolge speichern.

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

Vergleichen Sie die ursprüngliche und die umgekehrte Zeichenfolge

Schließlich werden wir die ursprüngliche und die umgekehrte Zeichenfolge vergleichen, um zu überprüfen, ob die Eingabezeichenfolge ein Palindrom ist oder nicht.

if(strcmp(inputStr, reverseStr) == 0) {
    cout << inputStr << " ist ein Palindrom." << endl;
} else {
    cout << inputStr << " ist kein Palindrom." << endl;
}

Vollständiger Code

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

using namespace std;

int main() {
    char inputStr[100];
    cout << "Geben Sie einen String ein: ";
    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 << " ist ein Palindrom." << endl;
    } else {
        cout << inputStr << " ist kein Palindrom." << endl;
    }

    return 0;
}

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie ein C++-Programm schreiben, das überprüft, ob ein gegebener String ein Palindrom ist oder nicht. Sie können jetzt dieses Programm verwenden, um schnell zu überprüfen, ob ein beliebiger String ein Palindrom ist oder nicht.