Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Sortieren » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 9 Beiträge
InformatikJava12

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
import java.io.*;
 public class Sotierer {
 public static void main( String[] args) throws IOException{
 final int x,y,z; 
BufferedReader ein = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Gib eine Zahl ein");
 x= Integer.parseInt(ein.readLine()); 
System.out.println("Gib noch eine Zahl ein");
 y= Integer.parseInt(ein.readLine()); 
System.out.println("Gib noch eine Zahl ein");
 z= Integer.parseInt(ein.readLine());
 if(x < y && y < z) {
 System.out.println(x); 
System.out.println(y);
 System.out.println(z); }
 else if( x < z && z < y) {
 System.out.println(x);
 System.out.println(z);
 System.out.println(y); }
 else if( y<z && z<x) {
 System.out.println(y);
 System.out.println(z);
 System.out.println(x); }
 else if( y < x && x < z) {
 System.out.println(y);
 System.out.println(x);
 System.out.println(z); }
 else if( z < x && x < y) {
 System.out.println(z);
 System.out.println(x);
 System.out.println(y); }
 else if( z < y && y < x) { 
System.out.println(z);
 System.out.println(y); 
System.out.println(x); } } }


So habe ich das gemacht. Kann man das optimieren?
as_string

Probiers doch einfach mal aus. Compiliert der Code? Macht er, was er soll?

Gruß
Marco
InformatikJava12

D.h ich mach es fallspezifisch. Also für den Fall: a>b, b>c
Dann also system.out.println(c);
Sy......(b);
Sy......(a);
In jedem Fall dann anders. Geht das so?
as_string

So konkatinierst Du nur die Strings "a", "b" und "c" zu "abc". Du willst doch aber die Zahlen ausgeben, also die Zahlenwerte von a, b und c zu Strings wandeln und diese eventuell noch mit Kommata getrennt o. ä. ausgeben, oder?
Im Zweifelsfall: Probiers doch einfach aus! Schreib das Programm und schau Dir an, was es ausgibt!

Gruß
Marco
InformatikJava12

Dankeschön Daumen hoch smile
D.h als Ausgabe muss ich schreiben.
System.out.println("a" + "b"+"c") oder?
as_string

Genau. Ich würde zwar die Ausgabe vielleicht noch etwas überarbeiten, aber prinzipiell genau so. Ich würde einfach mit if.. else if ... else if ... etc. alle 6 Fälle abfrühstücken und gut ist, oder?

Gruß
Marco

PS: Da a, b und c ja Zahlen sind, wird Deine Ausgabe die Summe aus allen ausgeben (wenn überhaupt ein String draus wird und das nicht gleich einen Syntaxfehler ergibt?) Das musst Du noch anders machen, weil die Summe ja auch immer dieselbe wäre...
InformatikJava12

Zitat:
Original von as_string
Hallo!

Wie ist denn z. B. die korrekte Reihenfolge, wenn die Bedingung
code:
1:
(a < b && b < c)
erfüllt wäre?
Marco


Die Reihenfolge wäre dann a,b,c.
Es gäbe 3!=6 Permutationen.

Dein Beispiel würde ich dann mit der if-Bedingung implementieren:
Also
code:
1:
2:
3:
if(a < b && b < c) {
    System.out.println(a + b +c);
}

oder?

[as_string: ich hab noch code-Tags um den Quelltext gemacht und etwas eingerückt, so ist es besser lesbar, ist das so OK?]
as_string

Hallo!

Wie ist denn z. B. die korrekte Reihenfolge, wenn die Bedingung
code:
1:
(a < b && b < c)
erfüllt wäre? Könntest Du auch für die anderen möglichen Reihenfolgen Bedingungen formulieren? Wieviele Reihenfolgen (Permutationen) gibt es denn bei 3 Zahlen?

Gruß
Marco
InformatikJava12 Sortieren

Hallo,
es geht um folgende Aufgabe

Schreiben Sie ein Programm in Java, welches drei Zahlen einliest und diese anschließend in sortierter Reihenfolge ausgibt. Verwenden Sie dazu bedingte Verzweigungen. Die drei Variablen selbst dürfen nur mit den entsprechenden Werten initialisiert und anschließend nicht mehr verändert werden (verwenden Sie bei der Deklarierung das Schlüsselwort final). Zusätzliche Variablen sind ebenfalls nicht erlaubt!

Das Einlesen müsste kein Problem sein. Da nichts angeben ist würde ich die 3 Variablen als double einlesen lassen. Wie ist dann die Idee. Ich würde normalerweise immer die eine Zahl mit der anderen vergleichen aber dazu bräuchte ich doch eine neue Variable. Wie kann ich das umgehen?