dynamisches array mit werten auffüllen



  • Servus,

    wär nett wenn mir hier einer helfen könnte:

    Ich möchte diesen array an jeden Punkt den Wert 0 verpassen:

    int k[3][2][gz];
    

    Die Variable gz wird vorher vom Benutzer bestimmt.

    Bei einem festen 2d-Feld wärs einfach:

    int k[3][2]=
    {{0,0},
    {0,0},
    {0,0}};
    

    Hab aber keine Ahnung, wie ich das auf mein Problem-feld anwenden könnte. 😕
    Danke schon mal im voraus.



  • memset ist da nen anfang..



  • In C++ reicht auch einfach:

    int k[3][2][gz] = { 0 };
    

    Sogar die Null(0) kann eigentlich entfallen, aber macht den Code etwas lesbarer als einfach "= {}".

    P.S. Falls dein Array ein Klassenmember ist, dann mußt du es im Konstruktor initialisieren:

    #include <algorithm>
    
    std::fill(k, &k[3][2][gz], 0);
    

    Ich hoffe mal, daß 'gz' eine Konstante ist, sonst ist es nämlich ungültiger Standard C++ Code (auch wenn es manche Compiler - wegen Kompatibilität mit C - schlucken).



  • Wenn du initialisieren willst geht das nur für den gesamten array. Ansonsten
    wäre wohl eine kleine for-Schleife angebracht!
    Gehört zum Grundwissen der C-Programmierung. Kann so schwer nicht sein!


Anmelden zum Antworten