#1 21. Februar 2005 Moin moin ! Hab da ganz schieke Hausaufgaben @ Turbopascal auf, und zwar soll ein Programm, von dem Benutzer Zahlen einlesen die er eingibt, und diese dann von klein aufsteigend sortieren und ausgeben. z.B. User gibt 57123 ein Prog gibt aus 12357 Hab schonmal angefangen, aber da ich kA wie ich das machen soll hab hab ich das an der Stelle mal ausgelassen. program zahlensortierung; uses crt; var zahlen:integer; begin clrscr; writeln (' dann gib mal dein Zahlensortiment ein! '); readln (zahlen); ... end. ja echt kein Plan wie das funktionieren soll, wäre cool wenn jemand code vervollständigen könnte, greeTz Korium + Multi-Zitat Zitieren
#2 21. Februar 2005 Code: Program Sortieren; uses crt; Const MaxFeld = 10; a = Array[1..MaxFeld] Of integer; i,j,hilfe : Integer; Begin for i:=1 to MaxFeld do begin Write ('Zahl eingeben : '); ReadLn(a[i]); end; for i:= 1 to (MaxFeld-1) do begin for j:= 2 to MaxFeld do begin hilfe := Feld[i]; Feld[i] := Feld[j]; Feld[j] := Hilfe end; end; for i:=1 to MaxFeld do begin Write (a[i]+' '); end; ReadLn; End. müsste so in etwa passen + Multi-Zitat Zitieren
#3 21. Februar 2005 danke, sind aber noch Fehler drinne die ich nicht ausmerzen kann, da ich noch nichts mit arrays zu tun hatte, trotzdem BIG THX! greeTz Kori + Multi-Zitat Zitieren
#4 21. Februar 2005 Hmm.... jetzt ist die Frage, ob das Einlesen der Zahlen so gewollt ist. Denn in deinem Code muss jede Zahl einzeln eingegeben werden, wenn ich das #1 Posting richtig verstanden habe, werden alle Zahlen auf einmal eingegeben. Ausserdem MUSS der Benutzer jetzt 10 Zahlen eingeben, was auch nicht im Sinne des Erfinders sein kann. Wenn ich jetzt wüsste, wie man in einer Variable (z.B. mynumber = 71938) auf jedes einzelne Zeichen (7, 1, 9, ...) zugreifen kann um das z.B. in einer temp-Variable zwischenzuspeichern, könnte ich dir evt. helfen den Sortieralgorithmus brauchste aber auf jeden Fall. + Multi-Zitat Zitieren
#5 21. Februar 2005 naja wenn man jetzt 837412 eingibt, kann man ja mit lenght die anzahl der zeichen abzählen, somit hätten wir das geklärt. und dann sollen die halt in 123478.. aufgezähl werden , kriegs voll nicht gebacken ;( + Multi-Zitat Zitieren
#6 21. Februar 2005 Das einfachste Verfahren um ein Array zu sortieren nennt sich "Bubblesort", wenn du mal nach: bubblesort pascal googlest, wirst du jede Menge Beispielprogramme finden! + Multi-Zitat Zitieren
#7 22. Februar 2005 Die Länge bringt dir aber nicht wirklich was, wenn du nicht auf die einzelnen Zeichen zugreifen kannst... gibt's nicht 'ne Funktion wie CharAtPos oder sowas? Hab seit Ewigkeiten nix mehr in Delphi gemacht... Wenn man sich das Listing oben anschaut, findet man das auch...... + Multi-Zitat Zitieren
#8 22. Februar 2005 Habs gepackt ;] Code: program sortieren; uses crt; var A, B, C:integer; procedure tauschen (var x, Y:integer); var zwischenwert:integer; begin zwischenwert :=X; X:= Y; Y := Zwischenwert ; end; begin clrscr; writeln ('1zahl'); readln (A); writeln ('2zahl'); readln (B); writeln ('3zahl'); readln (C); if A > B then tauschen (A,B); if B > C then tauschen (B,C); if A > B then tauschen (A,B); writeln ('',A,' - ',B,' - ',C,''); readkey; end. greeTz + Multi-Zitat Zitieren
#9 22. Februar 2005 Hättest mal zur Aufgabenstellung hinzufügen können, dass die Anzahl der Zahlen begrenzt sein soll ich dachte, ich kann "23784", aber auch "9387535093" eingeben + Multi-Zitat Zitieren