Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zahlensortierfunktion und noch eine Frage! (https://www.delphipraxis.net/76962-zahlensortierfunktion-und-noch-eine-frage.html)

Basti552 12. Sep 2006 18:03


Zahlensortierfunktion und noch eine Frage!
 
Hallo,

ich suche nach einer 'Zahlensortierfunktion'! Leider konnte ich hier im Forum noch nich finden!
Vielleicht könnnt ihr ja helfen!:)

Außerdem noch diese Frage:
Kann man in den Quelletext eingendlich Text Einfügen? Das heißt irgendiwe Rechtsklick und dann Einfügen!

THX!:)

Gruß
Basti552

mkinzler 12. Sep 2006 18:05

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

ich suche nach einer 'Zahlensortierfunktion'! Leider konnte ich hier im Forum noch nich finden!
Vielleicht könnnt ihr ja helfen!Smile
Such mal nach QuickSort, BubbleSort, Shellsort...
Zitat:

Außerdem noch diese Frage:
Kann man in den Quelletext eingendlich Text Einfügen? Das heißt irgendiwe Rechtsklick und dann Einfügen!
Wie meinst du das? Natürlich kannst du Quelltext Kopieren und Einfügen, aber meinst du das denn?

Balu der Bär 12. Sep 2006 18:06

Re: Zahlensortierfunktion und noch eine Frage!
 
Du solltest mal lernen wie man die Suchfunktion benutzt. :zwinker:

http://www.delphipraxis.net/internal_redirect.php?t=344

Alexander Roth 12. Sep 2006 18:07

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

Zitat von Basti552
Kann man in den Quelletext eingendlich Text Einfügen? Das heißt irgendiwe Rechtsklick und dann Einfügen!

Du meinst wohl Kommentare:
Also für mehrzeilige holt man meistens die:
Delphi-Quellcode:
{Kommentar}
oder
Delphi-Quellcode:
(*Kommentar*)
Einzeilige:
Delphi-Quellcode:
//Einzeilenkommentar

Basti552 12. Sep 2006 18:10

Re: Zahlensortierfunktion und noch eine Frage!
 
ähh zur 2. Ich meine Das man jetzt z.b. Hier einen Quelletext rauskopiert und dann in die Unit einfügt!

Balu der Bär 12. Sep 2006 18:13

Re: Zahlensortierfunktion und noch eine Frage!
 
Nicht ohne Grund gilt die Regel in der DP "Nur eine Frage/Problem pro Thread", sonst sieht hier nämlich bald keiner mehr durch.

Basti552 12. Sep 2006 18:15

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

Zitat von Balu der Bär
Nicht ohne Grund gilt die Regel in der DP "Nur eine Frage/Problem pro Thread", sonst sieht hier nämlich bald keiner mehr durch.

OH entschuldigung

Daniel B 12. Sep 2006 18:15

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

Zitat von Basti552
ähh zur 2. Ich meine Das man jetzt z.b. Hier einen Quelletext rauskopiert und dann in die Unit einfügt!

Da muss man ja noch wieter ausholen als mit Delphi Grundlagen, gehen wir über zu Windows Grundlagen. :)

Markiere einen Text, drücke Strg+c und dann gehst du in deine Unit und machst dann strg+v, das Ganze geht natürlich auch mit der Maus, rechte Taste->Kopieren, danach in der Unit rechte Taste->Einfügen...

Alexander Roth 12. Sep 2006 18:17

Re: Zahlensortierfunktion und noch eine Frage!
 
Totzdem als klitekleine Antwort: :duck: (Sonst habe ich sie umsonst geschrieben. Dummer roter Kasten, nochmal, langsam nervt mich mein Modem)
Ja, klar du kannst in Units jeden Text oder Code einfügen den du willst. Text der nicht zum Code gehört gehört in {} und Code einfach rein. Es ist ja auch so das du die Units in jedem x-beliebigen Texteditor bearbeiten kannst. Nur halt nicht kompilieren :wink:
Probiere es doch einfach aus.

Basti552 12. Sep 2006 18:18

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

Zitat von Daniel B
Zitat:

Zitat von Basti552
ähh zur 2. Ich meine Das man jetzt z.b. Hier einen Quelletext rauskopiert und dann in die Unit einfügt!

Da muss man ja noch wieter ausholen als mit Delphi Grundlagen, gehen wir über zu Windows Grundlagen. :)

Markiere einen Text, drücke Strg+c und dann gehst du in deine Unit und machst dann strg+v, das Ganze geht natürlich auch mit der Maus, rechte Taste->Kopieren, danach in der Unit rechte Taste->Einfügen...

ok ich habs verstanden, danke, aber bei mir war da nie Einfügen, sry! :(

Basti552 12. Sep 2006 18:40

Re: Zahlensortierfunktion und noch eine Frage!
 
Ok, ich habe das Sortieren jetzt ausprobiert aber ich habe folgendes Problem:
Delphi-Quellcode:
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;
Und die Methode für Button3:
Delphi-Quellcode:
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;
Wenn ich diesen Quelletext eingebe und ich dann auf den Button drücke passiert gar nichts!:(

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]

uwewo 12. Sep 2006 18:52

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

Basti552 12. Sep 2006 18:57

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

Zitat von uwewo
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

ok,

ich erwarte dass wenn der Button angeklickt wird sich um die 30 Zahlen der Größe nach Sortieren!

mkinzler 12. Sep 2006 19:02

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!
Und das macht der Algorithmus auch.

Basti552 12. Sep 2006 19:59

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

Zitat von mkinzler
Zitat:

ich erwarte dass wenn der Button angeklickt wird sich um die 30 Zahlen der Größe nach Sortieren!
Und das macht der Algorithmus auch.

aha und wie?:D

mkinzler 12. Sep 2006 20:12

Re: Zahlensortierfunktion und noch eine Frage!
 
Durch diesen Aufruf:
Delphi-Quellcode:
Quick_Sort(arr);
wird der vorher mit Zufallszahlen gefüllte Array arr sortiert.

markusj 12. Sep 2006 21:14

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^^

Basti552 13. Sep 2006 11:19

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

Zitat von markusj
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^^

oh ja ich werde ab jetzt nicht mehr so überstürtzt sein, versprochen! Ich hätte halt nur mal so ein Programm machen sollen, das halt etwas sortieren und drucken kann aber egal.

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:)

QuickAndDirty 13. Sep 2006 13:16

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)

markusj 13. Sep 2006 13:31

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.

QuickAndDirty 15. Sep 2006 14:53

Re: Zahlensortierfunktion und noch eine Frage!
 
Ja oder TurboPascal und Turtle

dino 15. Sep 2006 22:18

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

Zitat von Basti552
Delphi-Quellcode:
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;

diese procedure in procedure hab ich übrigens auch noch nie gesehen :(

mkinzler 15. Sep 2006 22:21

Re: Zahlensortierfunktion und noch eine Frage!
 
Zitat:

diese procedure in procedure hab ich übrigens auch noch nie gesehen Sad
Nicht? ist aber ne normale Subprocedur, d.h. die Prozedur QuickSort ist nur innerhalb Quick_Sort sichtbar.

dino 15. Sep 2006 22:58

Re: Zahlensortierfunktion und noch eine Frage!
 
gut merck ich mir :)

3_of_8 16. Sep 2006 09:58

Re: Zahlensortierfunktion und noch eine Frage!
 
Bezeichnet man auch als "Nested function".

Der_Unwissende 16. Sep 2006 12:56

Re: Zahlensortierfunktion und noch eine Frage!
 
@dino: Sorry, aber ich finde es hier echt falsch eine Lösung zu posten. Ist zwar sicherlich nett gemeint, aber ich denke dass jetzt jmd. anderes für ihn Code kopiert bring doch den Threadsteller nicht weiter. Letztlich wurde doch in den Beiträgen davor deutlich, dass Basti552 noch einiges an Grundlagen fehlt. Diese sollte er sich also erstmal in Ruhe aneignen, bevor es mit Drucken oder dem Quicksort losgeht.
Vorallem sollte man Verfahren auch verstehen. Wenn er nur irgendein Sortierverfahren sucht, dann muss es nicht immer der Quicksort sein. Vorallem sollten aber Leute, die den Code posten auch ruhig mal erklären wie der Algorithmus überhaupt funktioniert (und da du den auch nur kopiert hast frage ich mich, ob du das kannst?). Ist nicht böse gemeint, aber jeder hat doch hier mehr davon, wenn er etwas auch erklärt bekommt. Nur der Code hilft doch keinem (insbesondere keinem Anfänger) weiter.

Gruß Der Unwissende


Irrtum meinerseits!!! Sorry!

dino 16. Sep 2006 13:13

Re: Zahlensortierfunktion und noch eine Frage!
 
@unwissender: ich hab ihm diese Lösung nicht gepostet, der fragenstellender hat es selbst gemacht, und das kann ich ihn nicht nehmen, ich hab ihn bloss zitiert.
Ich bin fast uneingeschränkt deiner Meinung, weil ich einiges auch dadurch gelernt habe, indem ich mir sachen von anderen angeguckt habe.

PS: basti schau mal in deiner Mailbox

Der_Unwissende 16. Sep 2006 13:24

Re: Zahlensortierfunktion und noch eine Frage!
 
@dino: Sorry, hab völlig übersehen, dass das zitiert war und du nur eine Frage gestellt hast, tut mir leid!


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