Einzelnen Beitrag anzeigen

Zwoetzen

Registriert seit: 19. Sep 2007
Ort: Ilmenau
93 Beiträge
 
Delphi 2009 Professional
 
#15

Re: Problem mit statischem array und zufälliger ausgabe

  Alt 18. Mär 2008, 12:05
Wieso eigentlich so umständlich? Man kommt auch ganz ohne die beiden Arrays aus:

Delphi-Quellcode:
function generateKey(Input: String): String;
var
  I: Integer;
begin
  Result := '';
  for I := 1 to Length(Input) do
    Result := Result + IntToStr(2 * (Random(5)) + StrToInt(Input[I]));
end;
Eine Gerade Zahl erhält man, indem man 2*n rechnet (bzw. 2*n + 0), wobei n eine Zahl von 0 bis 4 ist, um nur einstellige Zahlen zu erwischen.
Eine Ungerade Zahl erreicht man durch 2*n + 1.
Es wird also einfach das Zeichen aus dem String erst in einen integer umgewandelt, danach zu den 2*n dazuaddiert (so erhält man die Ziffer) und anschließend (zurück als String) an das bestehende Ergebnis angehangen.

Random(5) erzeugt dabei die Zahl zwischen 0 bis 4. (Randomize nicht vergessen im FormCreate)

PS: Code nicht getestet

EDIT: Random angepasst
  Mit Zitat antworten Zitat