Seite 1 von 1
[gelöst] Zwei Fragen zu Arrays
Verfasst: Do, 17.04.2008 15:03
von jkl
Hallo,
ich habe zwei Fragen zu Arrays, die ich schon länger mit mir herumtrage, für die ich aber keine Antwort gefunden habe:
1. Gibt es eine einfache Möglichkeit ein Array zu mischen? (Vorher sortiert - nachher unsortiert)
2. Gibt es eine einfache Möglichkeit einzelne Werte aus einem Array herauszunehmen und das Array damit zu verkleinern?
Sollte die Antwort schon irgendwo stehen, sorry, aber ich hab sie wirklich nicht gefunden.
Danke schon mal...
J. Kleis
___
Meine OpenOffice-Vorlagen für die Schule unter
http://www.schulzeug-online.de
Re: Zwei Fragen zu Arrays
Verfasst: Do, 17.04.2008 16:21
von stoni
2. Gibt es eine einfache Möglichkeit einzelne Werte aus einem Array herauszunehmen und das Array damit zu verkleinern?
du könntest dir die benötigten Werte in einer Schleife in ein neues Array schreiben und zum Schluss das alte Array löschen:
Code: Alles auswählen
n=0
for i=LBound(AltesArray() to UBound(AltesArray())
if DeineBedingung then
ReDim Preserv NeuesArray(n)
n=n+1
end if
next
Prinzipiell könnte man ähnliches für deine 1. Frage auch realisieren.
Gruß stoni
Re: Zwei Fragen zu Arrays
Verfasst: Do, 17.04.2008 16:43
von jkl
Hallo,
danke für die Antwort. Leider ist das nicht genau das, was ich gemeint habe, deshalb nochmal genauer:
1. Eine einfache Möglichkeit ein Array zu mischen benötigt nicht viel Code, wobei ich es natürlich in eine Sub auslagern kann, und dann gehts auch wieder....
2. Ich meine dass ich zum Beispiel ein Array mit 50 Zahlen habe, dann die 33. Stelle des Arrays auslese und sie gleichzeitig auch Löschen möchte, da ich sie bereits benutzt habe... Ich brauche das z.B. für das Generieren von Aufgaben, wobei eben die Zahlen nicht doppelt verwendet werden sollen. Auch hier ist mir klar, dass das mit genügend Code geht... Aber geht das auch einfach?
Ich hoffe es ist etwas klarer geworden...
Trotzdem Danke...
J. Kleis
Re: Zwei Fragen zu Arrays
Verfasst: Do, 17.04.2008 18:42
von Karolus
Hallo
jkl hat geschrieben:......
2. Ich meine dass ich zum Beispiel ein Array mit 50 Zahlen habe, dann die 33. Stelle des Arrays auslese und sie gleichzeitig auch Löschen möchte, da ich sie bereits benutzt habe... Ich brauche das z.B. für das Generieren von Aufgaben, wobei eben die Zahlen nicht doppelt verwendet werden sollen. Auch hier ist mir klar, dass das mit genügend Code geht... Aber geht das auch einfach?
Klingt so, als ob du eine Reihe
einmaliger Zufallszahlen erzeugen möchtest ?
Falls ja - schau mal im
Lottozahlenthema
Gruß Karo
Re: Zwei Fragen zu Arrays
Verfasst: Sa, 19.04.2008 17:13
von jkl
Hallo nochmal,
habe folgende Idee:
Ich habe ein Array mit Begriffen aBegriffe() z.B. 20 Stück.... Ich habe einen Begriff der aus dem Array gelöscht werden soll....
Ich übergebe das Array und den Begriff an eine Function und die Function soll den Begriff aus dem Array löschen...
Mittels einer Schleife durchlaufe ich alle Array-Einträge und vergleiche sie mit dem Begriff. Für den Fall, dass der Begriff nicht gleich dem Eintrag im Array ist, wird der Begriff in einem neuen Array gespeichert, ansonsten eben nicht. Am Ende Überschreibe ich das erste Array mit dem neuen Array und gebe es wieder zurück.
Meine Frage:
1. Wie übergebe ich Arrays an eine Funktion? Wenn das nicht geht kann ich ja ein notfalls das Array als String übergeben und ihn wieder in ein array verwandeln.
2. Warum kann ich das nicht vernünftig programmieren?

Kann mir vielleicht jemand helfen?
Danke....
J. Kleis
Re: Zwei Fragen zu Arrays
Verfasst: So, 20.04.2008 09:11
von Toxitom
Hey J. Kleist,
also, du kannst mit Arrays (oder Listen) genauso arbeiten wie mit Variablen - also sie auch an Funktionen übergeben.
Überdenke noch mal den komplwetten Weg deiner Aufgabe: vielleicht findest du andere Lösungen? Es wüerde m.A. absolut ausreichen, eine Kopie einer "Master-Liste" zu erstellen und dann daraus die gewählten Einträge zu löschen ( also durch leere Strings zu ersetzen). Dadurch wird das Array nicht kürzer - aber das ist auch nicht nötig.
Um eine Liste zufällig zu mischen, schau dir mal das beiligende Beispiel an. Das tut genau das. Ich denke, aus den Fragmenten und den Tipps von Stoni und Karolus solltest du deine Aufgaben lösen können
Viele Grüße
Thomas
Re: Zwei Fragen zu Arrays
Verfasst: So, 20.04.2008 13:03
von jkl
Hallo,
vielen Dank!!!!!
Die Idee war nur eine kranke Geburt meines Kopfes, da ich deine einfache Lösung nicht hinbekommen habe... Ich brauche tatsächlich nur deine Funktion und schon läuft alles... Nochmal danke.
Das einfache Übergeben von Arrays hat bei mir auch nicht richtig funktioniert, keine Ahnung warum... wahrscheinlich hab ich einfach ein paar Gehirnwindungen zu wenig aktiviert
J. Kleis