Zähler-Algorithmus



  • Hallo.

    Ich versuche mich gerade an einer Art "Kilometerzähler". Allerdings ist der Witz bei dem Ding, daß er nicht nur Zahlen zählen können soll, sondern beliebige Zeichen(-ketten), die in einem Array festgelegt werden können.

    Ich habe einen Zähler hinbekommen, der das kann und auch insgesamt alle möglichen Zeichenkombinationen einmal durchzählt... Allerdings nicht ganz in der richtigen Reihenfolge.

    Sagen wir mal, nach dem Wert "2" soll die nächste "Walze" eins hochgezählt werden. Dann müßte das Ganze so aussehen:

    000
    001
    002
    010
    011
    012

    usw.

    Ich hab mit einem rekursiven Algorithmus bisher nur das hier hinbekommen:

    001
    011
    111
    211
    021
    121

    usw.

    Ich hab nun schon ewig gebastelt und probiert, aber eine Erleuchtung hatte ich noch nicht...

    Hat vielleicht jemand einen kleinen Tip für mich, der mir bei diesem Problem weiterhelfen könnte?



  • hab den kilometerzählertrick hier angewandt:
    http://www.c-plusplus.net/forum/viewtopic.php?t=43408&start=15



  • schau die mal die Funktion itoa an (steht zwar nicht im ANSII standard, gibts aber trotzdem fast
    überall)

    char *_itoa( int value, char *string, int radix );

    Return Value Each of these functions returns a pointer to string. There is no error return.

    Parameters
    value Number to be converted

    string String result

    radix Base of value; must be in the range 2 – 36

    Remarks

    The _itoa, _i64toa, and _ui64toa function convert the digits of the given value argument to a null-terminated character string and stores the result (up to 33 bytes) in string. If radix equals 10 and value is negative, the first character of the stored string is the minus sign ( – ). _itow, _i64tow, and _ui64tow are wide-character versions of _itoa, _i64toa, and _ui64toa respectively.

    Nimm eine einfache Integer Zahl und konvertiere sie mit itoa zu einen String mit der passenden Radix

    Wenn du jetzt noch spezielle Zeichn für die einzelnen Zahlen haben willst kannst du diese ja im String ersetzen



  • itoa gibt es nicht fast überall! 👎


Anmelden zum Antworten