Ordnung

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Rubber

Betreff: Ordnung

BeitragSa, Jan 07, 2006 14:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie schaffe ich es 6 Zufällige Zahlen(rnd) zu ordnen(mit der kleinten beginnend)???

mfg
rubber
Wenn Gott mich schon liebt, dann dich erstrecht...

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Jan 07, 2006 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn die Zahln in einem Array stehen dann gehts mit dem einfachen Bubblesort!
Einfach mal nach Bubblesort suchen!
[BB2D | BB3D | BB+]

Kryan

BeitragSa, Jan 07, 2006 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Dim Feld(6)
For i=1 To 6
Feld(i)=Rand(1,100)
Next
For i=1 To 5
For j=1 To 5
If Feld(j)<Feld(j+1) Then
temp=Feld(j+1)
Feld(j+1)=Feld(j)
Feld(j)=temp
End If
Next
Next

insgesamt muss man es damit es 100% richtig ist (x-1)^2 mal ausführen
in diesem falle also 25 mal
glaub ihc zumindest ^^
 

Rubber

BeitragSa, Jan 07, 2006 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Äh???

habe 6 variablen W1,W2,W3,W4,W5,W6 mit zufalls zahlen zwischen 1-6

mfg
Rubber
Wenn Gott mich schon liebt, dann dich erstrecht...

5k41

BeitragSa, Jan 07, 2006 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
mach doch dann lieber ein array W(5) is einfacher und die sortierung geht besser..
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Schnuff

BeitragSa, Jan 07, 2006 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
das heißt Dim W(5)
array ist zb aus Php Very Happy

[syntax="bb"]

Const MaxVar=6; Maximale Variablen anzahl, die zu sortienen ist
Dim W(MaxVar); es werden 6 Variablen erstellt also W(1), W(2),W(3),...
For i=1 To MaxVar; die Variablen werden mit werten gefüllt
Feld(i)=Rand(1,100)
Next
; ab hier beginnt das Sortieren
For i=1 To MaxVar-1; Schleifen anfang
If Feld(j)<Feld(j+1) Then; wenn die Aktuelle Variable kleiner ist, als die Nächste ...
Austausch=Feld(j+1);... dannTausche die Variablen gegen einander aus
Feld(j+1)=Feld(j)
Feld(j)=Austausch
i=1; Setze i zurück auf 1, damit alles noch einmal geprüft wird...
End If
Next

[/syntax]

5k41

BeitragSa, Jan 07, 2006 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
mh auchgut...hab ich in letzter zeit voll oft auch eins meiner lieblings verwechselungen struktur und type und ach was man noch alles verwirbeln kann^^
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Kryan

BeitragSa, Jan 07, 2006 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
array heißt auf gut deutsch übersetzt feld und das ist es ja auch
und dim...hat keine übersetzung...is ne abkürzung für dimension...macht aber weniger sinn als array, jedoch kann man BEIDES verwenden!

Kabelbinder

Sieger des WM-Contest 2006

BeitragSa, Jan 07, 2006 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Bubblesort arbeitet glaub ich so, dass in einer For-Schleife alle Werte eines Array (bis auf den letzten) mit ihrem Nachfolger verglichen werden. Wenn ein Wert größer ist, als sein Nachfolger, tauschen sie die Plätze und die For-Schleife startet von vorn. Damit die Werte die Plätz tauschen können, muss einer der Werten in einer Übergangs variable gespeichert werden. Es ist schwer zu erklären, was da genau passiert, deshalb stell ich das mal Grafisch dar:

Code: [AUSKLAPPEN]


        |------------------|
        | Übergangsvariable|
        |__________________|
             ^           \
            /              \ schritt 3
          / schritt 1       \
        /                    v
|-------|              |--------|
| Wert 1|<-------------| Wert 2 |
|_______|   schritt 2  |________|



so irgendwie

so sieht das als Programm aus
(Das mit der Doppelschleife kannst du dir eigentlich auch schenken):

Code: [AUSKLAPPEN]
Graphics 640,480,16,2
SeedRnd MilliSecs()

;mit Werten füllen
Dim w(6)
For i = 1 To 6
w(i)=Rand(1,6)
Next

;------Hier wird sortiert------

For i = 1 To 5 ;nur bis 5 (max-1)
If w(i) > w(i+1) Then
tr = w(i)
w(i) = w(i+1)
w(i+1) = tr
i = 0
EndIf
Next

;(Ausgabe)

For i = 1 To 6
Print w(i)
Next
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

5k41

BeitragSa, Jan 07, 2006 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
kleiner mängel...ein dimfeld mit w(5) reicht, da man es von null bis 5 beschrieben kann und man muss ja keinen speicher verschwenden Wink
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Kryan

BeitragSa, Jan 07, 2006 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
wieso schenkt man meinem posting keine beachtung Shocked
da steht alles sehr ausführlich kurz präzise ...... was will man mehr Very Happy
 

Rubber

BeitragSo, Jan 08, 2006 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke mit den freundlichen Beiträgen sind alle Probleme gelöst (und die Weltherschaft bald mein) Wink

Mfg
Rubber
Wenn Gott mich schon liebt, dann dich erstrecht...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group