Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Drei zahlen sortieren und in richtiger Reihenfolde ausgeben.
Hallo, ich bin schon fast 2 Tage am grübeln, komme einfach nicht darauf! Wie kann man drei Zahlen sortieren und in richtiger Reihenfolge in der Konsole ausgeben? Bitte schreibt mir nicht gleich die Lösung sonst hab ich nichts gelernt,aber ihr könnt mir Tipps geben, danke an euch, ihr seid das beste Forum, weil einem hier am schnellsten geholfen wird!
Gruss
Enriko
Du legst dir ein neues Array an mit der Länge 3. dann durchläufst du das array mit einer doppelten for schleife und stellst mit if abfragen die reihenfolge so wie du sie haben möchtest.
Sollst/Willst du den Sortieralgorithmus selbst schreiben?
Wenn nicht gibts zum Sortieren in Java bereits vorgefertigte Klassen und Methoden.
Zahlen kannst du entweder in ein Array oder eine Collection (Vector, ArrayList etc.) stecken.
Arrays werden dann mit der Anweisung
public class Sort {
public static void main(String[] args) {
int x = 4, y = 6, z = 10;
int[] arr = new int[3];
arr[0] = x;
arr[1] = y;
arr[2] = z;
for(int i = 0; i < arr.length; i++) {
// if(i == arr[i]) {
// System.out.println(i);
// }
}
}
}
Was passiert hier?
Code:
if(i == arr[i]) {
System.out.println(i);
}
Bei jedem Schleifendurchlauf wird geprüft, ob der momentane Wert der Zählervariable i dem Wert an der Indexposition, der durch die Zählervariable bestimmt wird, gleich ist.
Auf Deutsch: Ist die Zählervariable gerade 2, holst du den Wert an Arrayposition 3 aus dem Array und vergleichst ihn mit dem Wert der Zählervariable.
Und da 2 != 10 ist, wird dein System.out.println(i) übersprungen.
mir scheint, du probierst nur irgendwas herum, als übelegt zu programmieren.
Stell dir einfach mal vor, dein Array ist ein Schrank mit mehreren (in deinem Fall 3) Schubfächern. In jedem Schubfach liegt eine bestimmte Anzahl von Kugeln (oder sonstwelchen Gegenständen). Nun stehst du vor dem Schrank und willst die Kugeln so ordnen, daß die im obersten Schubfach die meisten, im untersten die wenigsten sind. Wie machst du das?
Eine gute Idee wäre es doch, z.B. mit dem untersten anzufangen. Du schaust also in das Fach und merkst dir wieviele Kugeln darin liegen. Jetzt gehst du Fach für Fach von unten nach oben durch und machst folgendes: Wenn die Anzahl der Kugeln in einem Fach kleiner ist als die Anzahl der Kugeln im untersten Fach, dann vertauschst du einfach die Kugelanzahl der beiden Fächer. (Vorsicht, du kannst nicht einfach beide Schubladen herausziehen und vertauschen, sondern du muß aus Fach I alle Kugeln herausnehmen, sie in ein separaten Karton legen (z.B. eine Variable temp), dann die Kugeln aus Fach II in Fach I legen, und dann wieder die Kugeln aus dem Karton in Fach II legen.). Wenn du mit diesem Verfahren ganz oben angekommen bist, bist du erstmal fertig. Du weißt jetzt, im untersten Fach sind garantiert die wenigsten Kugeln, bei den anderen Fächern ist die Anzahl noch unsortiert.
Nach dem gleichen Prinzip sortierst du nun also noch die restlichen Fächer, fängst diesmal aber bei dem zweiten von unten an, merkst dir den Wert und gehst wieder nach oben. Bei der nächsten Runde fängst du mit dem dritten von unten an und immer so weiter, bis du irgendwann beim letzten Fach angekommen bist.
Als Algorithmus sieht das ganze dann so aus:
Code:
n = Anzahl der Schubfächer
for startFach=0 to n-1 do // in jeder Runde ein Fach weiter nach oben rücken
begin
for aktuellesFach = startFach+1 to n-1 do // alle Fächer über dem startFach überprüfen
begin
if kugeln[aktuellesFach] < kugeln[startFach] then tauscheKugeln(startFach, aktuellesFach)
end
end
So, hoffentlich hab ich dich jetzt nicht noch weiter verwirrt.
Mit so einem ähnlichen Agorithmus wie dem von PyroPi haben es während einer Aktion der "KinderUni" in Trier 100 Jugendliche geschafft, 100 Zahlen im 10-stelligen Bereich in etwas mehr als 7 Minuten zu sortieren. Respekt! 3,5 sekunden pro Zahl... :applaus:
Mit so einem ähnlichen Agorithmus wie dem von PyroPi haben es während einer Aktion der "KinderUni" in Trier 100 Jugendliche geschafft, 100 Zahlen im 10-stelligen Bereich in etwas mehr als 7 Minuten zu sortieren. Respekt! 3,5 sekunden pro Zahl... :applaus:
Wen greife ich mit diesem Kommentar an??
Ich meinte damit, das es ein sehr guter Algorithmus ist, wenn man bedenkt, dass wir in unserer Computer-AG für 10 Zahlen mit 9 Leuten über 10 Minuten brauchten! Das ist fast das 20-Fache von denen bei der Kinder-Uni!
Wen greife ich mit diesem Kommentar an??
Ich meinte damit, das es ein sehr guter Algorithmus ist, wenn man bedenkt, dass wir in unserer Computer-AG für 10 Zahlen mit 9 Leuten über 10 Minuten brauchten! Das ist fast das 20-Fache von denen bei der Kinder-Uni!