Einzelne Stellen von Zahlen



  • Hallo,

    ich fange gearde erst an C++ zu lernen und zu progarmmieren.

    Nun möchte ich (ohne großen mathematischen Aufwand)
    einzelne Stellen extrahieren.

    Beipsiel:

    Ein int = 12387
    Nun soll z. B. die 3 einer Variable zugewiesen werden.

    Gibt es da eine Funktion/einen befehl für, oder muss
    man dies mit mehreren mathmatischen Funktionen/Befehlen lösen?



  • Hallo

    du kannst
    - die Zahl in einen String umwandeln und dort die einzelnen chars extrahieren.
    - mit Division und Modulo durch 10 die einzelnen Stellen berechnen.

    bis bald
    akari



  • Hier ein Beispiel für die Methode über Strings:

    #include<iostream>
    #include<sstream>
    
    int Stelle(int Zahl, int Stelle) {
        std::stringstream NummerStream;
        NummerStream << Zahl; // Umwandlung in String
        return NummerStream.str()[Stelle - 1] - '0';
    }
    
    int main() {
        using namespace std; // Auflösen von std::
        int Nummer = 123456; // Deine Nummer
        stringstream NummerStream;
        NummerStream << Nummer; // Umwandlung in String
        cout << NummerStream.str()[0] << " "
             << NummerStream.str()[1] << " "
             << NummerStream.str()[2] << " "
             << NummerStream.str()[3] << " "
             << NummerStream.str()[4] << " "
             << NummerStream.str()[5] << endl;
    
        // Das ganze nochmal mit einer Funktion:
        cout << Stelle(Nummer, 1) << " "
             << Stelle(Nummer, 2) << " "
             << Stelle(Nummer, 3) << " "
             << Stelle(Nummer, 4) << " "
             << Stelle(Nummer, 5) << " "
             << Stelle(Nummer, 6) << endl;
        system("PAUSE");
    }
    


  • Danke für die Hilfe euch beiden.

    Ich werde es mittels Division machen.


Log in to reply