Hilfe: Array Sortierung

Sony2000

Grünschnabel
Hallo liebe Community,

Ich bin auf der Suche nach Hilfe wegen ein kleinen Fehler in meinem Programm, den ich leider Gottes nicht finde.

Und zwar soll mein Programm über ein eindimensionalen Array 10 Zufallszahlen zwischen 1-100 ausgeben,dann sortieren und wieder ausgeben.

Bei meinem Programm gibt er 10 Zahlen aus und danach wiederholt er einfach nur noch die letzte Ziffer 10 mal...

Ich habe schon viel probiert teilweise hat das Programm mir nur 10mal "System.Int32" ausgeben oder nur "0"en > Stecke gerade wirklich fest und bitte euch um Hilfe!


Module Program
Sub Main()
Dim zufall As Random = New Random()
Dim i As Integer = 10
Dim j As Integer = 10
Dim zahlen(10) As Integer
Console.WriteLine("Zufallszahlen unsortiert:")
While i>0
zahlen(10) = zufall.Next(1,100)
Console.WriteLine("{0}", zahlen(10))
i = i - 1
End While
Console.WriteLine("Zufallszahlen sortiert:")
Array.Sort(zahlen)
While j>0
Console.WriteLine("{0}",zahlen(10))
j = j - 1
End While
Console.ReadLine
End Sub
End Module


j und i sollen als while schleife fungieren...Ich weiß das man evtl. eine For-Next Schleife benutzen könnte,ich wollte es dennoch bei einer While-Schleife belassen..

Danke im Vorraus!

MFG Sony2000
 
Hallo,

wenn ich das richtig sehe, dann gibts du immer einen index Wert aus dem Array raus

Console.WriteLine("{0}",zahlen(10))

sollte in dieser Zeile Code nicht eine Zählervariable sein?
z.B.
Console.WriteLine("{0}",zahlen(j))


mfg
wensi
 
Ah, nun hab ich es hinbekommen...

Allerdings habe ich nicht die Variable "j" genommen, da er mir sonst 10 weitere zufällige Zahlen ausgegeben hätte..

Mein Quellcode sieht nun so aus :

Module Program
Sub Main()
Dim zufall As Random = New Random()
Dim i As Integer = 10
Dim zahlen(i) As Integer
Console.WriteLine("Zufallszahlen unsortiert:")
While i>0
zahlen(i) = zufall.Next(1,100)
Console.WriteLine("{0}", zahlen(i))
i = i - 1
End While
Console.WriteLine("Zufallszahlen sortiert:")
Array.Sort(zahlen)
i = i + 10
While i>0
Console.WriteLine("{0}",zahlen(i))
i = i - 1
End While
Console.ReadLine
End Sub
End Module


Nun besteht nur noch die Frage wie ich die Zahlen von klein nach groß sortieren kann ^^...

Wobei das nur aus eigener Interesse ist, weil das Programm ja an sich funktioniert...
Noch einmal ein großes danke!

/Erledigt soweit ^^
 
Nun besteht nur noch die Frage wie ich die Zahlen von klein nach groß sortieren kann ^^...

Wobei das nur aus eigener Interesse ist, weil das Programm ja an sich funktioniert...
Noch einmal ein großes danke!

/Erledigt soweit ^^

Das hast du doch damit
Code:
Array.Sort(zahlen)
gemacht, oder verstehe ich etwas fasch?

Nur das du das Array Rückwärts ausgibst.

Wenn du der Größe nach ausgeben willst, dann mach das ungefähr so:

Code:
while index < 10 //index muss dabei mit 0 Definiert worden sein
Console.WriteLine("{0}",zahlen(index))
index = index + 1
...
jetzt sollte das Array der Reihe nach angezeigt werden. (Sortiert und nach der Größe)

Gruß
Rudolf Grauberger

PS: Ich habe den Code nicht probiert, sondern eben kurz nebenbei geschrieben deswegen, bitte nicht sauer sein, falls der nicht funktioniert ;)
 
Habe es noch nicht ausprobiert...verstehe aber deine Theorie und klar logisch...:)

Manchmal fragt man sich dann doch warum man nicht selber drauf kam.

Danke an für die Hilfe.


MFG Sony2000
 
Zurück