Lotto QuickTip in C#

chrisjee

Neuling
Thread Starter
Mitglied seit
16.12.2010
Beiträge
146
Ort
Erndtebrück
Moin zusammen,

ich versuche ein Lotto Quicktip zu programmieren.
Soweit hat das ganz gut geklappt.
Es sollen Zufallszahlen erzeugt werden und diese dann sortiert ausgegeben werden.
Das mit dem Erzeugen und Ausgeben hat gut geklappt und funktioniert auch , nur beim
Sortieren kam ich nicht weiter - also habe ich mir den Bubble Sort Algorhytmus angeschaut.
Diesen habe ich auch theoretisch verstanden, aber eine kleine Ungereimtheit gibt es.
Ich habe den einfach in mein Programm reinkopiert und es funktioniert auch alles.
Bringt mir nur leider nichts, wenn ich eine Kleinigkeit noch nicht raffe...
Und zwar verstehe ich das mit dem "sortiert" noch nicht!

for (int i = 0; i < GenArray.Length; i++) // solange, bis das Ende (Obergrenze) des Arrays erreicht ist
{

for (int j = i + 1; j < GenArray.Length; j++)
{

if (GenArray > GenArray[j]) //vergleicht ob der Wert im Array an Position i größer ist als an Position j
{
int temp = GenArray; //speichert Wert dann in der Variablen temp und setzt den größeren Wert i aus dem Array auf den kleineren Wert j
GenArray = GenArray[j];
GenArray[j] = temp; //j wird temprorär gespeichert
sortiert = false;

}

}
}

}
while (sortiert==true);
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich gehe mal davon aus, dass bei dir die ersten zwei Zeilen deines Sort

Code:
bool sortiert = true;
do {

lauten?

"Sortiert" bedeutet in diesem Fall dann nicht "ist sortiert", sondern "ist am sortieren". Wenn arr > arr[j] == false, dann gibt es nichts mehr zu sortieren, wird dann also auf false gesetzt und der Algorithmus ist durch.
 
Wieso nimmst du eigentlich ein array ?

Nimm doch eine List<int> ! Viel einfacher ! List<int> liste = new List<int>(); liste.sort();
 
@chrisjee
Schau dir mal 1-2 Videos an. Hat mir zumindest am anfang sehr gut geholfen, die Sortierverfahren zu verstehen.
bubble sort - YouTube

Edit:
Und zwar verstehe ich das mit dem "sortiert" noch nicht!
Das sortiert macht in deinem Beispiel auch gar keinen Sinn.
Lösche mal die do-while Schleife und das sortiert raus - es funktioniert trotzdem, weil innen drin stur mit den 2 for-Schleifen das komplette Array "klassisch" durchgegangen wird.

Die optimierung "solange noch etwas getauscht wird, bin ich noch nicht fertig" (while (binNochAmSotrieren==true)) sieht ein wenig anders aus, siehe Bubblesort

Wieso (..) ein array ?
Feste größe - somit ist schonmal sichergestellt, dass es 6 und nicht plötzlich 20 Lottozahlen geben kann.

Viel einfacher ! (..) liste.sort();
Array.Sort-Methode (System)

Abgesehen davon geht es hier wohl eher um das verständnis, wie so ein Bubble-Sort überhaupt funktioniert. ;)
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh