Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
Re: Sehr komischer Fehler beim Beenden der Schleife...
22. Okt 2007, 19: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
|