![]() |
Re: Zahlensortierfunktion und noch eine Frage!
Ok, ich habe das Sortieren jetzt ausprobiert aber ich habe folgendes Problem:
Delphi-Quellcode:
Und die Methode für Button3:
procedure Quick_Sort(var A: array of Integer);
procedure QuickSort(var A: array of Integer; iLo, iHi: Integer); var Lo, Hi, Mid, T: Integer; begin Lo := iLo; Hi := iHi; Mid := A[(Lo + Hi) div 2]; repeat while A[Lo] < Mid do Inc(Lo); while A[Hi] > Mid do Dec(Hi); if Lo <= Hi then begin T := A[Lo]; A[Lo] := A[Hi]; A[Hi] := T; Inc(Lo); Dec(Hi); end; until Lo > Hi; if Hi > iLo then QuickSort(A, iLo, Hi); if Lo < iHi then QuickSort(A, Lo, iHi); end; begin QuickSort(A, Low(A), High(A)); end;
Delphi-Quellcode:
Wenn ich diesen Quelletext eingebe und ich dann auf den Button drücke passiert gar nichts!:(
procedure TForm1.Button3Click(Sender: TObject);
var arr: array[0..100] of integer; I: Integer; begin for I:=Low(arr) to High(arr) do arr[I]:=Random(High(Integer)); Quick_Sort(arr); end; [edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit] |
Re: Zahlensortierfunktion und noch eine Frage!
Hi Basti,
beschäftige dich doch einmal SELBST etwas länger mit Deinem Problem, nur dann wirst Du auch etwas lernen. Desweiteren gibt es eine Menge Tutorials in der DP die Du lesen solltest. Anscheindend besitzt Du auch ein Buch, also lese es. Wenn es dann wirklich nicht weiter geht, werden Dir sicherlich sehr viele helfen! Was erwartest Du wenn der Button angeklickt wird????? Du sortierst ein Array gefüllt mit Zahlen, das wird aber nicht von alleine auf Deinen Bildschirm kommen. Die Zuweisung zur ListBox oder oder mußt Du auch noch machen. Sorry |
Re: Zahlensortierfunktion und noch eine Frage!
Zitat:
ich erwarte dass wenn der Button angeklickt wird sich um die 30 Zahlen der Größe nach Sortieren! |
Re: Zahlensortierfunktion und noch eine Frage!
Zitat:
|
Re: Zahlensortierfunktion und noch eine Frage!
Zitat:
|
Re: Zahlensortierfunktion und noch eine Frage!
Durch diesen Aufruf:
Delphi-Quellcode:
wird der vorher mit Zufallszahlen gefüllte Array arr sortiert.
Quick_Sort(arr);
|
Re: Zahlensortierfunktion und noch eine Frage!
Hallo Basti,
Ich möchte dir jetzt etwas OT einen Ratschlag geben: Es macht wenig Sinn, wenn du dich von einer Aufgabe in die nächste stürzt und dabei keine Ahnung hast, was du eigentlich machst ... Kopieren und Einfügen macht dich nicht viel schlauer^^. Du musst erst einmal Programmiergrundlagen kennen lernen und kannst dann einmal versuchen, Sortieralgorithmen 1. Zu verstehen 2. Dann erst in Quellcode umsetzen. Sorry wenn das etwas hart klingt, aber programmieren ist kein Kinderspiel, es hat mit logischem und kombinatorischen Denken sowie der Fähigkeit, sich Informationen selbst zu beschaffen und zu verstehen zu tun. Einfach mal Delphi auf die Platte haun und ab geht die Post ist nicht eben mal so drin! Mach dir mal Gedanken darüber, was du machen willst, und dann, wie man es in einem Algorithmus umsetzen könnte. Dann kannst du mit der Umsetzung anfangen, sofern du dir das nötige Rüstzeug angeeignet hast. Du kannst schließlich kein Flugzeug bauen, wenn du noch nicht mal ne Schraube festgezogen bekommst! Delphi ist kein Baukasten, aus dem man sich einfach ein Paar Elemente zu einem Programm zusammenbaut! Aber lass dich nicht entmutigen, mit Gedult und nem guten Buch (Ich empfehle dir nochmal Delphi4Kids) ist Delphi gar nicht so schwer, es ist eigentlich eine recht logische Programmiersprache! Viel Spaß noch! Markus Nachtrag: dein Code macht schon etwas ... nur siehst du nichts, weil ein Array einfach nur ein Haufen, als Tabelle organisierter Daten sind (aua, nicht schlagen). Wenn du diese Zahlen sortiert sehen willst, brauchst du eine Anzeigekomponente, mit der du die sortierten Zahlen ausgeben lässt ... z.B. ne Listbox Und noch was : Ich weiß nicht, ob du Englisch kannst, aber ohne Englisch wird dir das Programmieren _etwas_ schwerer fallen. Ein Listbox1.Add findet sich nämlich leichter wenn man weiß was man sucht^^ |
Re: Zahlensortierfunktion und noch eine Frage!
Zitat:
2. Ich müsste ein Memo sortieren und drucken, aber egal. Ich werde mich ertsmal ein bisschen im Forum umsehen. Außerdem hab ich jetzt nicht mehr so viel Zeit weil ich jetzt wieder Schule hab (6. Klasse) Gruß Basti552:) |
Re: Zahlensortierfunktion und noch eine Frage!
@Basti:
Guck dir in der Hilfe mal das Thema Konsolen Anwendung an. auf der Basis einer Konsolen Anwendung kannst du die Delphi(Pascal) Grundlagen recht unkompliziert erlernen. zu deinem Aktulem Programm: ein Programm hat Eingabe(die du mittels der For Schleife simmulierst) Verarbeitung(die Quicksort Procedure) Ausgabe (die hast du nicht Programmiert deswegen siehst du auch nichts) |
Re: Zahlensortierfunktion und noch eine Frage!
Mal ein Ansatz für dich:
Du brauchst n' Memo oder ne Listbox zur Dateneingabe und Anzeige. Wenn du ne Listbox nimmst, brauchst du ferner n' Editfeld und Buttons zum einfügen und löschen. Auf jeden Fall brauchst du noch ein Button zum starten des Sortierers, und vielleicht noch eines zum Füllen des Memos/der Listbox mit Zufallsdaten. Je nach dem ob zu Strings (Text) oder Zahlen (Ganzzahlen oder Gleitkommatypen) sortieren willst, musst du diese zuerst einmal programmintern umwandeln und in ein Arary stecken, oder kannst direkt mit der Memo.Strings/Listbox.Strings eigenschaft arbeiten... Drucken wird etwas aufwändiger, aber da kann ich dir leider nicht helfen. Ansonsten kannst du mir bei weiteren Fragen gerne ne PM senden. mfG Markus PS: Ich befürchte, dass du anfangs bei den Forumsbeiträgen vor allem Bahnhof verstehen wirst, weil dir die Grundlagen (soweit ich den Eindruck habe) fehlen. Nachtrag: Ich glaube, mein Vorredner hat recht, wenn er dir empfiehlt, erst einmal über Pascal in die Programmierung einzusteigen, so habe viele Programmieren gelernt (einschließlich meiner Wenigkeit). Es gibt zwar Leute, die sagen, dass Pascal nur ein überdimensionierter Taschenrechner ist, aber man kann auch deutlich merh damit machen. Wichtig ist für dich erst einmal ein vernünftiger Einstieg, wenn du mit Pascal beginnst, kann ich dir auch Trubopascal & Delphi 4 Kids empfehlen, damit habe ich Programmieren gelernt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz