C++ - Programm zu überprüfen, ob eine gegebene Zeichenkette ein Palindrom

Das problem hier ist, dass es kann nicht eine Zeichenfolge sein, die aus den Benutzereingaben. Es gibt 7 Saiten, 6 von Ihnen sind zahlen und eine ist das Wort "abba". Ich habe so weit geschrieben, viel code, aber ich habe Schwierigkeiten, einen Weg zu finden, testen Sie die 7 strings, die ich verwenden muss für das Programm.

#include <iostream>
#include <iomanip>
#include <cmath>
#include <string>

using namespace std;

bool isNumPalindrome(string str);

int main ()
{
    string str;
    str = "10", "32", "222", "abba", "444244", "67867876", "123454321";
    int userExit;

    bool isNum = isNumPalindrome;

    if (isNumPalindrome)
    {
        cout << str << " is a palindrome";
        cout << endl;
    }
    else
    {
        cout << str << " is not a palindrome";
        cout << endl;
    }

    cout << "Press any key to exit: ";
    cin >> userExit;
    cout << endl;

    return 0;
}

bool isNumPalindrome(string str)
{
    int length = str.length();

    for (int i = 0; i < length /2; i++)
        if (str[i] != str[length - 1 - i])
            return false;

        return true;
}

Wie Sie sehen können, ich habe nicht ganz herausgefunden, wie zum ausführen einer Funktion in die main zu nehmen, die Rückgabe und Ausgabe einer Anweisung. Ich brauche, um herauszufinden, wie um zu testen, mehrere Zeichenfolgen, und wie Sie dann mit der return-Anweisung, etwas zu drucken, wie cout << str << " ist nicht ein Palindrom.";

  • Auch ich weiß, ich habe nicht benötigte Kopfzeilen und ich habe aufgehört, wo ich erklärt isNum werden isNumPalindrome, so ist es falsch schon.
  • learncpp.com/cpp-tutorial/26-boolean-values
  • Sie müssen tun, einige Lesen auf, wie zum aufrufen und verwenden von Funktionen in C++. Das hat viele Probleme.
  • Ich verstehe es sehr rau an den Rändern. Wenn da durfte ich verwenden von Benutzereingaben, würde ich keine Probleme haben. Aber ich bin der Anfang, und dieser warf mich ab.
  • Sehr rau? Dies ist ein Durcheinander auf so viele weisen... Sie müssen sich auf einige c++ - tutorials. Sie haben scheinbar überhaupt kein Verständnis von arrays, Funktionen, etc.
  • Der Algorithmus zum testen der string richtig ist, und ich habe die Funktion Prototyp Recht, aber ich habe buchstäblich gerade angefangen zu lernen, über die return-Anweisungen. Ich muss nur wissen, wie um zu testen, mehrere Zeichenfolgen ohne Benutzereingaben. Ich habe versucht eine Vielzahl von Methoden, die schon.
  • Gut string str sollte ein array sein, und dann rufen Sie isPalindrome(str[i]) in einer Schleife.
  • Nun, der Grund, ich habe dies zu tun, ohne ein array ist, da ich nächste Woche mit dem lernen beginnen, um die Verwendung von arrays. Vor meinem Studium ein Konzept, das ich zugewiesen bekommen, ein Programm zu schreiben mit unkonventionellen Mitteln, um sich damit vertraut zu machen mich mit dem falschen Weg, dies zu tun. Es ist nicht ein effizientes Verfahren, es ist genau das, was mein Lehrer will.
  • Ich endete in der Lage, die Verwendung von Referenzvariablen und die änderung der functiontype int. Die Rückkehr war eine variable isNum, dass ich als 1 definiert in der verschachtelten if-Anweisung in meine Palindrom-Funktion. Danke für die Hilfe

InformationsquelleAutor Tren Abern | 2013-05-05
Schreibe einen Kommentar