andy33
Goto Top

VBS ein Array absteigend sotieren und doppelte loeschen

Hallo Ihr

Ich hoffe Ihr könnt mir wieder helfen.

Die Aufgabe:

Ein Array z.B. von 10 Identnummern die in einer Textdatei stehn aber schon in ein Array übertragen wurden absteigend sortieren und doppelte Einträge löschen. Das Ganze soll ich in VBS umsetzen.

Ich würde mich echt Freuen wenn Ihr mir Helfen könntet und evtl. auch ein bisschen dazu schreibt was was macht das ich es auch nachvollziehen kann und etwas daraus lernen kann.

Viele Grüße
Andy

Content-Key: 89617

Url: https://administrator.de/contentid/89617

Printed on: April 23, 2024 at 13:04 o'clock

Member: D3S3RT
D3S3RT Jun 11, 2008 at 10:28:19 (UTC)
Goto Top
da solltest du dir erstmal überlegen, welchen sortieralgorithmus du nutzen möchtest.
was einfaches wäre

wenn du aufsteigend sortieren solltest, dann so.. kannste dir ja passend umdrehen.
if array[i]>array[i+1] then tauschen else i:=i+1

das noch passend in ne schleife packen, dann haste das schonmal sortiert.
und dann mit
if array[i]=array[i+1] then loeschen else i:=i+1 die doppelten löschen.

ist nicht wirklich effektiv für größere Mengen, aber bei so kleinen gehts ja.
Member: bastla
bastla Jun 11, 2008 at 15:46:56 (UTC)
Goto Top
Hallo Andy33 und willkommen im Forum!

Noch eine Anmerkung zum Löschen: Falls das Ganze ohne ein weiteres Array gelöst werden soll, könntest Du einen zu löschenden Eintrag auf einen möglichst niedrigen Wert setzen, einen Zähler mitlaufen lassen, am Ende nochmals (absteigend) sortieren und mit einem "ReDim Preserve" das Array auf die Anzahl der zu behaltenden Werte (berechnet aus ursprünglicher Größe des Arrays - Anzahl gelöschter Einträge) reduzieren - die gelöschten Werte "fallen oben raus".

Und, nur zur Sicherheit face-wink: http://msdn.microsoft.com/de-de/library/bb979305.aspx

Grüße
bastla