Hi Fabi,
ich würde den Insertion Sort verwenden.
Einfach vor dem Auslesen des Feldes einbauen bzw. als Methode aufrufen:
public static int[] insertionsort(int[]field)
{
for (int i = 1; i 1){
if(field[j-1] >= m){
field [j] = field [j-1];
j = j-1;
}
else break;
}
field[j] = m;
}
return field;
}
Ich hoffe, das beantwortet deine Frage. es gibt auch noch andere Sortieralgorithmen, aber diesen finde ich eigentlich ganz logisch.
Du hast ja deine Hauptmethode ‚static void main()‘, welche beim Starten ausgeführt wird. Innerhalb dieser Methode kannst du die Methode ‚public static int[] insertionsort(int[]field)‘.In deinem Fall würde ich einfach nach deiner 2. If-Anweisung
lotto = insertionsort(lotto);
einbauen. Insertionsort liefert ein sortiertes Integer-Feld zurück. Danach kannst du dann mit der For-Schleife die Ausgabe so stehen lassen.
Damit du die Methode aufrufen kannst, musst du sie aber noch in den Code einfügen. Einfach den Code von mir oben vor die vorletzte geschweifte Klammer einfügen. Dann sollte es fuunktionieren…
LG
Nein ist mir leider nicht klar wie ich das einbauen sollen
Hi,
einen zweiten temporären Array erzeugen. Den Array mit den unsortierten Zahlen in einer FOR-Schleife nach der jeweils kleinsten Zahl durchsuchen und in den neuen Array speichern.
Du musst nur die beiden nebeneinander stehenden Integer Werte in der Array vergleichen und demnach sortieren.
also in Pseudocode:
Solange ein wechsel möglich ist/war
kontrolliere, ob lotto[x] > lotto[x+1] (vergleiche
aber auch ende und anfang der array
wenn ja, dann tausche die beiden und markiere, dass
gewechselt wurde
Sorry, sehr spät von dem Problem erfahren, aber vielleicht hilft’s auch anderen, wenn sie vor dem gleichen Problem stehen.
int[] lotto = new int[6];
In diesem Beispiel (bei umfangreicheren Arrays wäre es überdenkenswert) würde ich anstatt eines Integer-Arrays eine generische Liste verwenden. Also List, denn die stellt bereits eine Methode Sort() zur Verfügung. Also:
List lottoZahlen = new List();
int pseudoZufall;
while (lottoZahlen.Count p).ToArray();
Im Übrigen erzeugt Random() nicht wirklich eine Zufallszahl. Dahinter steckt eine mathematische Folge. Gibt bessere Klassen zur Erzeugung von derartigen Zahlen.