Hallo,
meine Augabe ist, dass ich ein Array von Fließkomma-Zahlen (größte zuerst) sortieren soll.
Dabei muss wie folgt vorgegangen werden:
Ab 1. Element nach größter Zahl suchen, 1. Element mit dieser tauschen.
Danach ab 2. Element nach (zweit)größter Zahl suchen, mit 2. Element tauschen
und so weiter bis zum Ende.
Hinweis: Es ergibt zwei geschachtelte Schleifen.
Mein Problem ist:
1. Wenn es von klein zu groß sortiert, funktioniert das Programm. Soll es von groß zu klein sortieren, wird die erste Zahl nicht angezeigt und am Ende der Aufzählung kommt eine 0 raus.
2. Was muss geändert werden, damit das Programm Fließkomma-Zahlen sortieren tut?
3. Dabei darf ich keine Methoden benutzen.
meine Augabe ist, dass ich ein Array von Fließkomma-Zahlen (größte zuerst) sortieren soll.
Dabei muss wie folgt vorgegangen werden:
Ab 1. Element nach größter Zahl suchen, 1. Element mit dieser tauschen.
Danach ab 2. Element nach (zweit)größter Zahl suchen, mit 2. Element tauschen
und so weiter bis zum Ende.
Hinweis: Es ergibt zwei geschachtelte Schleifen.
Java:
public class Sortierung1 {
public static void main (String[] args) {
int n;
int[] zahl;
// Eingabe
n = IOTools.readInteger( "Wie viele Zahlen sollen sortiert werden? ");
zahl = new int[n];
for (int i = 0; i < zahl.length; i++) {
zahl[i] = IOTools.readInteger( (i+1) + ". Zahl: " );
for (int d=0;d<zahl.length;d++ ) {
if (zahl[i]<zahl[d]) {
int h;
h=zahl[d];
zahl[d]=zahl[i];
zahl[i]=h;
} // end of for
}
}
// Ausgabe
for (int i=0; i <zahl.length ; i++) {
System.out.println(zahl[i] );
} // end of if
}
}
Mein Problem ist:
1. Wenn es von klein zu groß sortiert, funktioniert das Programm. Soll es von groß zu klein sortieren, wird die erste Zahl nicht angezeigt und am Ende der Aufzählung kommt eine 0 raus.
2. Was muss geändert werden, damit das Programm Fließkomma-Zahlen sortieren tut?
3. Dabei darf ich keine Methoden benutzen.