Int-Werte in Variablen schieben.



  • Hallo,
    in meinem Programm wird die INT-Variable "a" oft geändert. Nach jedem neuem Wert soll der aktuelle Wert in eine Variable "b" reingeschoben werden. Wie funktioniert das??

    Beispiel:
    a = 15;
    b = 15;

    a = 946;
    b = 15946;

    a = 014;
    b = 15946014;

    Wie weise ich "b" die Werte zu?



  • int a, b;
    a = 15;
    b = 15;
    a = 946;
    b = b * 1000 + 946;
    a = 14;
    b = b * 10 + 14;
    
    //print b: 1594614
    

    👎 👎 👎 :p



  • edit:
    ups 😞
    die letzte zeile muss so heißen:

    b = b * 100 + 14;
    // statt
    b = b * 10 + 14;
    


  • Ich wollte nicht rechnen, sondern die Zahlen oder Buchstaben rechts anfügen.



  • Ein solch komplexes Problem ist nur in C++ lösbar. 🤡

    class troll {
    private:
        int a, b;
    public:
        void set_a(int value)
        { a = value; b = a; }
        void set_b(int value)
        { b = value; }
    };
    


  • Aber wie geht das genau? Es sollte auch mit Buchstaben und Sonderzeichen funktionieren. Vielleicht brauche ich auch char - ich weiss es nicht. Ich möchte einfach nur Zeichen an das Ende der Variable schreiben. b="" ==> "h" wird hinzugefügt, b="h", "48uh" wird hinzugefgt, b="h48uh", ...



  • du könntest einen string definieren und per strcat das neue hinten anfügen...
    oder du arbeitest mit bitoperationen und versuchst dein int immer um die richtige anzahl der bits nach links zu schieben mit << und dann die neue zahl per oder verknüpfung hinzuzufügen



  • hilfestellung2 schrieb:

    oder du arbeitest mit bitoperationen und versuchst dein int immer um die richtige anzahl der bits nach links zu schieben mit << und dann die neue zahl per oder verknüpfung hinzuzufügen

    Das wird ihm aber nichts nützen.

    Einen String zu nehmen und mit strcat hinten anfügen ist schon der richtige Weg, wenn es mehr als nur dezimale Ziffern sein sollen.


Log in to reply