Hallo leute mein Quelltext sieht wei folgt aus:
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:
| procedure TForm1.BtsortClick(Sender: TObject); var i, j, Merke: integer;
begin
for i:= (ende-1) downto 1 do for j:= 1 to i do if zahlenf[j] > zahlenf[j+1] then begin Merke:=zahlenf[j]; zahlenf[j]:=zahlenf[j+1]; zahlenf[j+1]:=Merke; end; for i:=1 to ende do me_sort.lines.add(IntToStr(zahlenf[i])); end;
procedure TForm1.btInsSortClick(Sender: TObject); VAR i,j,merke: integer; Anfang,ZEnde: Real;
begin
for i:=2 to ende do begin merke:=zahlenf[i]; j:=i; while (j>1) and (zahlenf[j-1] > merke) do begin zahlenf[j]:=zahlenf[j-1]; DEC(j); end; zahlenf[j]:=merke; end; for i:= 1 to ende do me_sort.lines.add(IntToStr(zahlenf[i])); end;
procedure TForm1.btNeuClick(Sender: TObject); VAR i: integer; begin me_sort.lines.clear; me_unsort.lines.clear; randomize ; for i:= 1 to ende do zahlenf[i]:= random(1000); for i:= 1 to ende do me_unsort.lines.add(IntToStr(zahlenf[i])); end;
procedure TForm1.bt_oeffnenClick(Sender: TObject); var i:integer; begin if OpenDialog1.Execute=True then me_unsort.Lines.LoadfromFile(openDialog1.Filename); for i:=1 to 10000 do Zahlenf[i]:=StrToInt(me_unsort.lines[i-1]); |
also wenn ich die geöffnete datei dann sortieren lasse, egal ob insertsort oder bubblesort- macht er dass dann auch ganz normal nur am ende stehen dann 1000den die vorher gar nicht in der datei enthalten waren. also könnt ihr mir bitte sagen wo mein fehler liegt und bitte nocheinmal sagen wie mal den quelltext richtig in das feld einfügt.
zu guterletzt hab ich noch eine frage wenn das denn klappt, wie schaffe ich es denn die datei so zuprogrammieren dass der pc eine datei öffenet, die eine unbekannte zahl zahlen beinhaltet und im anschluss mit einem der sortierverfahren sortiert.
vielen dank für eure hilfe
elefantenfan 88
Moderiert von
Tino: Delphi-Tags hinzugefügt.