| Autor |
Beitrag |
Moritz Vogel
Hält's aus hier
Beiträge: 2
989
D5 Pers
|
Verfasst: Mo 17.11.03 09:29
Hallo!
Wir haben Probleme mit Sortieralgorithmen, selbst unser Lehrer kann uns nicht helfen. Tut mir leid wenn dies hier das falsche Forum dafür ist, aber es ist dringend. Jede Hilfe wäre nett. Wir benutzen Delphi 5.
Wir haben ein Stringgrid, in das Zufallszahlen generiert werden, die dann nach Abfrage entweder durch Bubblesort oder durch Quicksort sortiert werden sollen. Ich habe erstmal nur Bubblesort eingebaut, aber auch so sind massive Probleme aufgetreten. Hier der Quelltext.
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: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Buttons, ExtCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; StringGrid1: TStringGrid; Label1: TLabel; BitBtn1: TBitBtn; Label3: TLabel; Label4: TLabel; RadioGroup1: TRadioGroup; Button2: TButton; procedure Button1Click(Sender: TObject); procedure ausgeben; procedure BitBtn1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure BubSort(Feld: Array of integer); private public end;
var Form1: TForm1; Feldlaenge: integer; Feld: array of integer;
implementation
{$R *.DFM} procedure tform1.ausgeben; var t: integer; begin for t:= 1 to Feldlaenge do Stringgrid1.cells[t-1,0]:=inttostr(Feld[t]); end; procedure TForm1.Button1Click(Sender: TObject); var i,Anzahl: integer; begin
if edit1.text = ' ' then begin Feldlaenge:=100; showmessage('Feldlänge auf 100 gesetzt!'); end else begin Anzahl:= strtoint(Edit1.text); if (Anzahl < 2) or (Anzahl > 1000) then begin Feldlaenge:=100; showmessage('Feldlänge auf 100 gesetzt!'); end else begin Feldlaenge:= Anzahl; end; end; randomize; setlength(Feld,Feldlaenge); for i:= 1 to Anzahl do Feld[i-1]:= random(1000); ausgeben; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin close; end;
procedure TForm1.Button2Click(Sender: TObject); var i, j, h, x: integer; begin if radiogroup1.itemindex=0 then begin BubSort; end else begin showmessage('noch nicht dabei'); end end;
procedure BubSort(Feld: Array of Integer); var Run: LongInt; Index: LongInt; x: Byte; begin for Run := 1 to 100 do for Index := 100 downto Run do if Feld[Index] < Feld[Index - 1] then begin x := Feld[Index]; Feld[Index] := Feld[Index - 1]; Feld[Index - 1] := x; end; end;
end. |
Moderiert von Klabautermann: Delphi-Tags hinzugefügt und unnötige Leerzeilen entfernt.
Zuletzt bearbeitet von Moritz Vogel am Mo 17.11.03 17:55, insgesamt 1-mal bearbeitet
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Mo 17.11.03 11:08
Hallo und  im Delphi Forum!
Dein Titel enspricht nicht unseren Richtlinien. Diese sagen zu dem Thema:
| Delphi-Forum richtlinien hat folgendes geschrieben: | 1.1 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist. Eine Pseudocodezeile oder die Nennung des Objektes, um welches es sich in dem Beitrag handelt, helfen da schon mehr weiter. |
Andere bitte das den Titel, indem du deinen ersten Beitrag dieses Threads noch einmal Editierst. Einfach bei dem Beitrag auf Edit clicken, den Titel ändern und wieder auf Absenden.
Desweiteren solltest du die Formatierungs-Tags, wie z.B. den Delphi-Tag verwenden um dein Posting übersichtlicher zu halten.
Gruß
Klabautermann
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Mo 17.11.03 11:12
Titel: Re: Informatik-Kurs Jhg. 12 braucht Hilfe
| Moritz Vogel hat folgendes geschrieben: | | Tut mir leid wenn dies hier das falsche Forum dafür ist, aber es ist dringend. |
Sowohl das Forum als auch die Sparte sind richtig  .
| Moritz Vogel hat folgendes geschrieben: | | Wir haben ein Stringgrid, in das Zufallszahlen generiert werden, die dann nach Abfrage entweder durch Bubblesort oder durch Quicksort sortiert werden sollen. Ich habe erstmal nur Bubblesort eingebaut, aber auch so sind massive Probleme aufgetreten. Hier der Quelltext. |
Du solltes ein wenig konkreter auf die Probleme beschreiben, damit wir wissen wonach wir gucken müssen. Also was genau läuft schief?
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 17.11.03 17:37
Einerseits:
Delphi-Quelltext 1:
| procedure BubSort(Feld: Array of Integer); |
Andererseits:
Delphi-Quelltext 1: 2: 3:
| begin BubSort; end |
Siehst du, was falsch ist?
Probier mal
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.BubSort; var Run: LongInt; Index: LongInt; x: Byte; begin [...] |
Dann passt es auch, dass Bubsort ne Procedure von Tform1 ist...schliesslcih wird sie ja oben auch angeführt...
_________________ We are, we were and will not be.
|
|
Moritz Vogel 
Hält's aus hier
Beiträge: 2
989
D5 Pers
|
Verfasst: Mo 17.11.03 17:54
Hallo! Tut mir leid wegen der missverständlichen Überschrift.
Ich konnte das Problem nicht genauer schildern, da wir alle ziemlich ahnungslos waren. Selbst unser Lehrer hatte keine Ahnung, aber sagt ihm das nicht  . Wir haben inzwischen das Problem gelöst und haben natürlich wieder tausend neue, die wir aber selber lösen können. Trotzdem danke!
|
|
|