Dim feld sortieren nach wert

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

dubitat

Betreff: Dim feld sortieren nach wert

BeitragSo, Apr 10, 2005 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,
ich habe ein dim feld mit 100 einträgen. nun möchte ich diese einträge der reihe nach sortieren also der größte zuerst und dann der 2. größte und so weiter! nun wollte ich euch fragen wie ihr das machen würdet! ich selbst bin leider gerade am verzweifeln! hoffe ihr könnt mir helfen!

mfg

dubitat
Erare humanum est - Irren ist Menschlich

simi

BeitragSo, Apr 10, 2005 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Such doch mal nach "Zahlen sortieren" oder nach "BubbleSort", du wirst 100% fündig...
 

noir

BeitragSo, Apr 10, 2005 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Um mal die Suche zu entlasten Wink

das zeigt dir ein einfaches sortierverfahren (kann natürlich noch sehr viel mehr optimiert werden)

BlitzBasic: [AUSKLAPPEN]


Dim Feld(10)

;zufallswerte
For i = 0 To 9
Feld(i) = Rand(1,1000)
Next


;1.Ausgabe
For i = 0 To 9
Print Feld(i)
Next

WaitKey
Print

;sortieren
For i = 0 To 9

If Feld(i+1) > Feld(i) Then
temp = Feld(i)
Feld(i) = Feld(i+1)
Feld(i+1) = temp
i = 0
EndIf

Next

;2. Ausgabe
For i = 0 To 9
Print Feld(i)
Next

WaitKey
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
  • Zuletzt bearbeitet von noir am So, Apr 10, 2005 17:27, insgesamt einmal bearbeitet
 

dubitat

BeitragSo, Apr 10, 2005 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
schöner code und ich habe ihn auch halbwegs verstanden nur er gibt mir index out of bounds an...^^

edit: dein feld musst du einfach ein größer angeben Wink danke für die funktion es funzt alles Wink achso bei bubblesort bin ich nicht fündig geworden Wink
Erare humanum est - Irren ist Menschlich

simi

BeitragSo, Apr 10, 2005 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

;sortieren
For i = 1 To 9

 If Feld(i+1) > Feld(i) Then
        temp = Feld(i)
        Feld(i) = Feld(i+1)
        Feld(i+1) = temp
        i = 0
 EndIf

Next


Nur bis neun, da sonst bei i+1 11 angesprochen wird....
 

noir

BeitragSo, Apr 10, 2005 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
hab es korrigiert, hatte es nicht getestet Wink
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
 

dubitat

BeitragSo, Apr 10, 2005 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
hi das sortieren funzt schön aber leider sortiert er nicht richtig bei gleichen zahlen... das heißt er sortiert schon richtig, aber ich habe auch noch namen etc., die ich umändere in der funktion, da ich sonst halt die punkte zu den namen verliere.... wie muss ich das abändern, damit die namen verschieden bleiben bei gleicher punktzahl??? und nicht dann 1 name bei einer punktzahjl auftaucht???
Erare humanum est - Irren ist Menschlich
 

noir

BeitragSo, Apr 10, 2005 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
du verschiebst die namen einfach mit

wenn du z.b Feld$(10,1) hast:

Feld(1,0) = 100
Feld(1,1) = "test"

dann sortierst du mit Feld(1,0) und verschiebst die namen einfach mit.
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
 

dubitat

BeitragSo, Apr 10, 2005 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
hi kannst du das mal bitte in deinen source code einbauen??? ich verstehe nicht wie du das meinst Sad

edit: achso habe ich vielleicht vergessen zu sagen: ich habe das nicht alles in einem array sondern in einem 2. und 3.... also für jede sache ein array... nur irgendwie überschreibt der einfach die daten bei gleicher punktzahl...
Erare humanum est - Irren ist Menschlich
 

dubitat

BeitragSo, Apr 10, 2005 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
ok hat sich geklärt habs endlich hin Wink
Erare humanum est - Irren ist Menschlich

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group