Zahlen zeichen zuordnen



  • Stefan311 schrieb:

    wie kann man define wieder weg machen?

    Mittels #undef, bringt dir aber nichts. Und selbst wenn es funktionieren würde wäre es keine gute Idee.

    Zu deinem Problem:

    #include <map>
    
    std::map<int, char> tiles;
    

    std::map<...>



  • Oder, wenn deine verwendeten Grundwerte konstant sind, reicht auch schon ein char[] für die Aufgabe (in manchen Fällen ist map<> einfach Overkill ;))

    const char[] tiles = "ABCDEFG";
    //...
    cout << tiles[i];
    

    (Achtung, der Indes beginnt bei Null)



  • CS schrieb:

    Oder, wenn deine verwendeten Grundwerte konstant sind, reicht auch schon ein char[] für die Aufgabe (in manchen Fällen ist map<> einfach Overkill ;))

    Hatte ich mir im Prinzip auch gedacht, ist aber deutlich flexibler - und deiner Lösung fehlt mindestens noch ein

    enum {
      TILE_A,
      TILE_B,
      // ...
    };
    


  • <ironie>

    #define 1 A
    

    </ironie>



  • phlox81 schrieb:

    <ironie>

    #define 1 A
    

    </ironie>

    Sieht für mich aus wie ein Kandidat für www.thedailywtf.com



  • Ich schätze man hat mich falsch verstanden.
    Folgendes ein 2d array der so ausieh:

    0,0,0,0,2,0,0,0,0,0,
    0,0,0,2,0,0,0,0,0,0,
    0,0,1,4,4,4,4,4,4,4,
    0,0,0,3,0,0,0,0,0,0,
    0,0,0,0,3,0,0,0,0,0,//so siehts im array aus.
    

    Und in der ausgabe solls dann so aussehen:

    ausgabe in konsole:
     , , , ,/, , , , , ,
     , , ,/, , , , , , ,
     , ,|,#,#,#,#,#,#,#,
     , , ,\, , , , , , ,
     , , , ,\, , , , , ,//hier sind die kommer nur zum trennen der
    

    //zeichen da.nicht in der ausgabe.

    Und jetzt meine ich das so
    0=' '
    1='|'
    2='/'
    3='\'
    4='#'
    so könnte ich eine karte zeichnen dafür müsste ich wissen wie ich zahlen zeichen
    zuordne.define klappt nicht.



  • CS schrieb:

    Oder, wenn deine verwendeten Grundwerte konstant sind, reicht auch schon ein char[] für die Aufgabe (in manchen Fällen ist map<> einfach Overkill ;))

    const char[] tiles = "ABCDEFG";
    //...
    cout << tiles[i];
    

    (Achtung, der Indes beginnt bei Null)

    Nimm doch einfach diesen Vorschlag, deine Lösung die 0 oder 1 zu überschreiben ist Unfug!!



  • Dann würde ich einen Transform-Funktion machen, der du die codierte Zeile übergibst und die dir eine decodierte zurückliefert. Oder du gibts ihr das array und sie macht für dich die Ausgabe



  • Also ihr meint jetzt denn array direkt mit denn zeichen zu füllen?



  • Ja, wenn du nicht einen trifftigen Grund hast es nicht zu tun


Anmelden zum Antworten