![]() |
Delphi-Version: 5
Transposition
HiHo
kann mir wer erklären warum mein Array bugged??
Delphi-Quellcode:
seh einfach nur meinen Fehler nicht, wäre dankbar für nen zweiten der draufguckt.
function transposition(u,k:string):string; //u=Klartext; k=Schlüssel
var sk: Array of Integer; kboard: Array of Array of char; y,x,i,j,p: integer; begin transposition := ''; setlength(kboard, length(k)); if not((length(u)/length(k))=(trunc(length(u)/length(k)))) then y := trunc(length(u)/length(k)) else y := trunc(length(u)/length(k))+1; for i := 0 to length(k)-1 do setlength(kboard[i],y); x := 0; //x-Spalte in der Tabelle for i := 0 to length(k)-1 do for j := 0 to y-1 do kboard[i,j] := ' '; for i := 1 to length(u) do begin if ((i mod length(k)) = 1) and (i > 1) then inc(x); kboard[i-x*length(k)-1,x] := u[i]; Form1.ListBox1.items.add(kboard[i-x*length(k)-1,1]); //<- erste Ausgabe der 2. Array Spalte richtig, wenn ich danach das Array wieder aufrufe kommen falsche Ausgaben in der Listbox end; setlength(sk, length(k)); for i := 1 to length(k) do begin p := 1; for j := 1 to length(k) do if (Ord(k[i]) > Ord(k[j])) or ((k[i] = k[j]) and (j < i)) then inc(p); sk[i-1] := p; end; for i := 1 to length(k) do begin x := 0; repeat inc(x); until i = sk[x-1]; for j := 0 to y-1 do if kboard[x-1,j] <> ' ' then transposition := transposition + kboard[x-1,j]; end; end; /lazarus |
AW: Transposition
Keine Ahnung was du willst, aber du schreibst in den zweiten Index x, liest aber immer die 1:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz