Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Blup,
16. Sep 2014
Ein schönes Beispiel das man jede Rekursion auch als Iteration darstellen kann oder umgekehrt.
Ich würde die Abbruchbedingung vorher testen, dann gibts auch kein direktes Problem wenn ein Wert <= 0 übergeben wird.
Und die Subtraktion nur einmal.
function XlsCol(col : integer) : String;
begin
Assert(col > 0, 'Col must be > 0');
Result := '';
while col > 0 do
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Blup,
16. Sep 2014
Die hab ich schon längere Zeit im Einsatz:
function GetColName(ACol: Integer): string;
begin
ACol := ACol - 1;
Result := Chr(Ord('A') + (ACol mod 26));
if ACol >= 26 then
Result := GetColName(ACol div 26) + Result;
end;