Array-Problem (eindimensional)

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Array-Problem (eindimensional)

    Guten Morgen,

    habe jetzt schon alle Array-Fragen hier durch und meine Frage ist immer noch nicht beantwortet:

    Ich brauche ein eindimensionales Array, indem die gefundenen Zahlen (nur numerisch) abgespeichert werden. Zuerst ist das Array leer, dann kommen immer mehr Zahlen hinzu, die nacheinander aufgelistet werden sollen, bis zur 10. Zahl. Also ein Array[0..9].

    Aber überall finde ich nur, wie man einem Platz im Array einen Wert zuweist, nirgends jedoch, wie das Programm selber erkennen kann, welcher Platz als letztes belegt ist und dann dahinter den nächsten Platz belegt. Wie macht man das??

    Und noch eine Frage: brauche ich beim Abfragen des Arrays unbedingt sowas wie "search" und "found" oder geht das bei numerischen Inhalten auch anders?

    Sorry, aber ich hatte bislang noch nicht mit Arrays zu tun. Jeder fängt mal an... ;)

    Gruß CB
  • Counter-Bike schrieb:

    Aber überall finde ich nur, wie man einem Platz im Array einen Wert zuweist, nirgends jedoch, wie das Programm selber erkennen kann, welcher Platz als letztes belegt ist und dann dahinter den nächsten Platz belegt. Wie macht man das??


    Also wenn ich das richtig verstanden habe willst du, wenn 3 zahlen eingefügt sind, bei platz 4, also 3 (weil 0 mitzählt), die nächste zahl einfügen?

    Sagen wir mal dein array hat den namen "a".
    dann sind a[0], a[1], a[2], a[3], ... a[n-2],a[n-1], a[n] alles eigene Variablen. Das heißt es können integer (also zahlen) oder strings (also zeichenketten) werden..
    und falls du wissen willst wieviele arrays befühlt sind, geht das nicht! du kannst bloß ein zweite variable mitlaufen lassen, damit du weißt wieviel du schon hast. du kannst aber auch alle deine arrays zuerst mit -1 fühlen und beim einfügen immer schauen wo das letzte -1 war, das geht natürlich nur wenn du -1 nicht benötigst. also nur positive zahlen hast. xD

    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Doch, man könnte das Ende eines Arrays herausfinden.
    und zwar mit:

    GML-Quellcode

    1. variable_local_exists('array[6]')

    Dies Prüft ob die Variable schon initialisiert wurde. Wenn ja, gibt es true zurück, wenn nicht dann "false".
    Das ist der Nachteil bei Arrays im GM.
    Deswegen nutze ich für Listen die eine immerwieder "veränderbare" länge besitzen "Listen".
    Sind vielleicht nicht ganz so performancefreudig, dafür habe ich aber mehr Kontrolle über den Speicher.
  • Vielen Dank Euch beiden für die weiterführenden Angaben! Werde ich gleich mal alles umsetzen. Vielleicht klappt's dann.

    Eine Frage noch:

    LEWA schrieb:

    Deswegen nutze ich für Listen die eine immerwieder "veränderbare" länge besitzen "Listen".

    Was genau meinst Du jetzt mit "Listen"? Ich nehme an, "ds_list_create", oder ist etwas anderes gemeint?
    Dank und Gruss,
    CB