Zitat von
Klaus01:
Delphi-Quellcode:
procedure TForm1.btSortierenClick(Sender: TObject);
var
i,j,min,hilfsvar:integer;
begin
for i:=1 to 10 do
begin
Stringgrid1.Cells[i-1,2]:=inttostr(kleinstezahl(i,10));
end;
end;
Wer sagt Dir denn, daß die kleinste Zahl immer in der Position kleiner i liegt,
Liegt sie dahinter wird diese Zahl des öfteren als kleinste Zahl erkannt.
Aber das sagt doch garnicht, dass die Zahl an einer Position kleiner i liegt. Die Grenze wird doch immer um 1 nach oben verschoben, so wie es auch in dem Link steht.
Zitat:
Delphi-Quellcode:
function kleinstezahl(a,b:integer):integer;
var i,vergleich:integer;
begin
vergleich:=zahlen[a];
for i:=a to b do
begin
if zahlen[i]<vergleich then
vergleich:=zahlen[i];
end;
result:=vergleich;
end;
Wenn Du hier die kleinste Zahl ermittelt hast
mußt Du sie an die a-te Position des Array schieben
und die Zahl von der a-ten Position an die i-te.
Das nennet sich sortieren durch vertauschen.
Ist auch in dem Link erklärt.
Grüße
Klaus
Die Funktion gibt mir doch die kleinste Zahl innerhalb des immer kleiner werdenden unsortierten Bereichs an. Das klappt ja auch bei der ersten zhal ganz gut... Ich will die Zahlen ja anich im Array sortieren.
Es tut mir echt Leid, dass ich es nicht verstehe, aber trotzdem Danke für die Hilfe!!!