Forum: Object-Pascal / Delphi-Language
by Nikolas,
12. Dez 2009
Das ist ein Standardcode, den eigentlich jeder mit etwas Erfahrung sofort runterschreibt. So was sieht man ein Mal und vergisst es nicht wieder. Aber die Frage nach "alle gleich" solltest du noch anpassen:
if (listen.count > 0) then
begin
kleinser_wert := listen.items.count;
alle_gleich := True;
for i := 1 to listen.count - 1 do
begin
Forum: Object-Pascal / Delphi-Language
by Nikolas,
12. Dez 2009
So hätte ich das auch gemacht (schneller als O(n) kann es auch nicht werden), nur hast du ein Problem wenn das erste Element das Kleinste ist. In dem Fall kommst du nie ins if und hast alle_gleich = True;
und die Fehlermeldung sollte eher "Liste leer" heissen.