Standardwerte beim Array setzen?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Gibt es eine Möglichkeit einen Standard Wert eines Multidimensionalen Array zu setzen?


    Beispiel:


    new Arr[3][4];


    Nun soll als Standardwert '-1' gesetzt werden, das heißt das egal welchen Index man einsetzt, der Wert -1 ist.


    Also: Arr[0][3] = -1 und Arr[2][0] = .-1 usw.


    Bisher sind die standardmäßig auf 0.

  • Könnte man eigentlich nur mit einer Schleife lösen:


    for(new i=0; i<sizeof(array); i++){ //Erst mal die erste Dimension des Arrays durchlaufen und dann
    for(new x=0; x<sizeof(array[]); x++){ //pro jeder ersten Dimension deren zweite Dimensionen durchlaufen, wobei anschließend dann
    array[i][x] = -1; //der Wer auf -1 gesetzt wird.
    }
    }
    Aus dem Kopf geschrieben, dürfte aber so funktionieren.

  • Du kannst das auch direkt setzen mit einem kleinen Trick


    new Arr[5 * 4] ={-1,...};
    #define Arr[%0][%1] Arr[%0+(4*%1)]


    Danach kannst du ganz normal auf den index zugreifen
    printf("%d",Arr[3][3]);


    andere alternative


    new Arr[3][4] = {{-1,...},{-1,...},{-1,...}};


    rayN.
    @Mr.Reese


  • Danke, nach so etwas habe ich gesucht. :thumbup: