Array anders darstellen? nicht senkrecht sondern waagerecht



  • Hallo mal wieder. Kurz zu meinem Programm. Es soll zeigen ob eine Zahl ein Palindrom ist oder nicht. Das Programm an sich ist schon fertig:

    #include <iostream>
    using namespace std;
    
    void palindrome(int arr[], int n)
    {
    
        int a = 0;
     
    
        for (int i = 0; i <= n / 2 && n != 0; i++) {
     
    
            if (arr[i] != arr[n - i - 1]) {
                a = 1;
                break;
            }
        }
     
        if (a == 1)
            cout << "Kein Palindrom";
        else
            cout << "Palindrom";
    }
     
    
    int main()
    {
        cout << "Zahl eingeben: " << endl;
        int arr[8];
        for (int x = 0; x < 8; x++) {
            cin >> arr[x];
        }
        int n = sizeof(arr) / sizeof(arr[0]);
        cout << "Ergebnis: ";
        palindrome(arr, n);
        return 0;
    }
    

    Nur würde ich gerne anstatt jede Zahl einzeln einzugeben Einfach Die Zahl eingeben und er soll es mir ausgeben. Bisher ist es ja so
    1
    2
    3
    4
    4
    3
    2
    1
    Ergebnis: Palindrom

    Ich will aber das hier:
    12344321
    Ergebnis: palindrom



  • Lies doch einfach einen std::string.



  • Oh stimmt, das ist viel einfacher. Da hab ich es mir aber auch unnötig kompliziert gemacht



  • @KarlSr sagte in Array anders darstellen? nicht senkrecht sondern waagerecht:

    Nur würde ich gerne anstatt jede Zahl einzeln einzugeben Einfach Die Zahl eingeben und er soll es mir ausgeben. Bisher ist es ja so

    Bei deiner Version könntest du die Ziffern mit Leerzeichen bei der Eingabe trennen und am Ende die Entertaste drücken.

    Der std::string hat aber mehr Vorteile.

    Die Funktion sollte nur feststellen, ob der String ein Palindrom ist und der rufende Funktion (hier main) das Ergebnis melden.
    Die Ausgabe des Textes passiert dann in main


Anmelden zum Antworten