Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Sehr komischer Fehler beim Beenden der Schleife...

  Alt 22. Okt 2007, 18:48
Ich habe einen Fehler in der Funktion letter_frequency gefunden.
Delphi-Quellcode:
//Funktion für die (periodische) Häufigkeitsanalyse
function letter_frequency (chiffre:string;keylength:integer):TLetterFreq;
  var i,j,k : integer;
      teilchiffre : string;
  begin
  SetLength(Result,keylength);
  for i:=0 to keylength - 1 do //<-- hier, es muss - 1 heißen oder besser gleich mit Low und High arbeiten
    for j:=0 to 25 do
      Result[i,j]:=0;

  for k:=0 to keylength-1 do
    begin
    //für den 1. Schlüssel, 2. Schlüssel, etc. Teilstrings erstellen
    teilchiffre:=getCharsAt(k,keylength,chiffre);
    for i:=1 to length(teilchiffre) do
      Result[k,ord(teilchiffre[i])-65]:=Result[k,ord(teilchiffre[i])-65]+1;
    end;
  end;
BTW: Du solltest das dynamische Array nach Gebrauch mit SetLength wieder freigeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat