HalliHallo,
Es geht um ein (wahrscheinlich recht einfaches) Problem bei verschiedenen Sortier-Algorithmen... Leider muss ich, obwohl ich mit dem ganzen Programmier-Kram nicht viel am Hut hab, für den Informatik-Unterricht ein Programm fertigstellen, was folgende Sortier Algorithmen beinhaltet: Auswahl, Einfüge und Bubble - Sort.
Mein Problem liegt weniger in den Programmzeilen rund um den Algorithmus, als darin das Ergebnis des Sortiervorgangs in das dafür vorgesehen Stringgrid zu bringen... Was genau muss ich nach dem Sortier Vorgang eingeben, damit ich meine schön sortierte Zahlenreihe auch angezeigt bekomme??
Hier mal mein Projekt, ... und wo es hapert...
(Zur Erklärung ... jemand, der sich damit auskennt wirds wissen, zuerst habe ich 2 Stringgrids, mit je 10 Spalten, ins erste werden 10 Zahlen zufallsgeneriert erstellt, diese werden sortiert und sollten dann angezeigt werden... nur wie?! - meiner meinung nach müsste ich ja jetzt irgendwas nach der letzten programmzeile noch hinkleksen...)
- bitte keine arbeitsökonomischen verbesserungsvorschläge, hier geht nur um hausaufgaben, und die müssen auch danach aussehen... vielen dank!!!
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:
| const n = 10; type TFeldelement = word; TFeld = array [1..n] of TFeldelement;
procedure TForm1.Button_GenClick(Sender: TObject);
var i : integer; Feld : TFeld;
begin for i := 0 to n do begin Feld [i] := random (50); StringGrid_Ungeordnet.cells[i,0] := inttoStr (Feld[i]); end;
end;
procedure tausche (i, j : word);
var help : word; Feld : TFeld;
begin help := Feld [i]; Feld [i] := Feld [j]; Feld [j] := help; end;
procedure TForm1.Button_AuswahlClick(Sender: TObject); var i, j : word; Minimum : word; FehlPosition : boolean; Stelle : word; Feld : TFeld;
begin
for i := 0 to n-1 do begin Minimum := Feld [i]; Fehlposition := false; Stelle := 0; for j := i+1 to n do if Feld[j] < Minimum then begin Minimum := Feld[j]; Stelle := j; Fehlposition := true; end; if Fehlposition then tausche (i,Stelle)
end;
end; |
Moderiert von Christian S.: Delphi-Tags hinzugefügt.