![]() |
Delphi-Version: 5
Transposition
Delphi-Quellcode:
Ich bekomme immer so einen blöden Prozessorfehler (SIGSEGV), könnt ihr mir vllt. helfen? Ich meine da sonst keine Fehler auftreten ist es mit solch einer indirekten Fehlermeldung relativ schwierig umzugehen.
function Transp(w,s:string):string;
var sA:array of array of string; xw:string; Laenge, yw,i,z,x:integer; begin setlength(sA,length(s), 2); for i:= 1 to length(s) do begin sA[i,1]:=s[i]; sA[i,2]:=IntToStr(i); end; for i:= 1 to length(s) do begin x:=i; for z := i to length(s) do if (ord(StrToInt(sA[x,1])))>(ord(StrToInt(sA[z,1]))) then x:=z; xw:=sA[x,1]; yw:=StrToInt(sA[x,2]); sA[x,1]:=sA[i,1]; sA[x,2]:=sA[i,2]; sA[i,1]:=xw; sA[i,2]:=IntToStr(yw); end;//Sortierung und Nummerierung des Schlüssels Laenge:=ceil(length(w)/length(s)); x:=StrToInt(sA[1,2]); z:=1; for i := 1 to Laenge do begin if x>length(w) then begin inc(z); x:=StrToInt(sA[z,2]) end; Transp:=Transp+w[x]; x:=x+length(s) end; end;//Transpositionsverfahren |
AW: Transposition
Gib mal einen Beispielaufruf oder benenne die Parameter etwas aussagekräftiger.
|
AW: Transposition
Hallo,
array of array of String ist 0 basierend. Du durchläufst das Array aber von 1 bis Länge(s). Wenn sonnst nichts hilft ![]() Grüße Klaus |
AW: Transposition
Aber dann müsste eine Access Violation kommen oder?
|
AW: Transposition
![]() SIGSEGV is the signal sent to a process when it makes an invalid memory reference, Grüße Klaus |
AW: Transposition
ah k thx werde gleich mal die arrays berichtigen
so nun kommt hier noch eine Fehlermeldung(Ordinal expression expected): if (ord(sA[x-1,0]))>(ord(sA[z-1,0])) Warum dies keine Ordinal expression ist weiß ich zwar auch nicht aber ihr könnt mir dies sicher sagen. |
AW: Transposition
Weil
Delphi-Quellcode:
einen ganzen String zurück gibt und kein Char.
sA[x-1,0]
Du hast 2 Arrays und einen String ... macht 3 Indize, um auch einen Char zuzugreigfen. Und Projektoptionen > Bereichsprüfung aktivieren (prüfen von Indize) PS: Damit hättest du deinen Indexfehler selber gefunden. |
AW: Transposition
Warum gibt dies einen String zurück?
[x-1, 0] ist doch eine legitime angabe welche Zelle des Arrays ich wähle. |
AW: Transposition
Code:
Zwei Indize = der Inhalt des zweiten Array und das sind Strings
array of array of string;
x-1, 0, ? |
AW: Transposition
aso lol thx
ich hab es gestern abend einfach nicht gesehen^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 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