Hallo, ich habe einen dynamischen globalen Array c, dessen Ordnung vertauscht werden soll. Die erste Stelle wird die letzte etc. Da ich jedoch mehrere Arrays vertauschen muss, wollte ich eine Funktion schreiben.
c : Array of Integer
Delphi-Quellcode:
type
function_array =
array of Integer;
//return value to change the order of an array
function changearrayorder(input_array : function_array) : function_array;
var
tmp_array :
Array of Integer;
tmp_int : integer;
tmp_int_t : integer;
begin
setlength(tmp_array,high(input_array));
tmp_int_t := high(input_array);
for tmp_int := 0
to high(input_array)
do
begin
tmp_array[tmp_int] := input_array[tmp_int];
end;
for tmp_int := 0
to high(input_array)
do
begin
input_array[tmp_int_t] := tmp_array[tmp_int];
dec(tmp_int_t);
end;
result := input_array;
end;
Delphi-Quellcode:
c := changearrayorder(c);
Ich habe jedoch einen inkompatiblen Typen zwischen einem Array und meinem function_array; verständlich. Wenn ich jedoch meinem Array "c" auch den Datentyp function_array gebe stürtzt mein Programm ab. Eine weiter Frage ist, ob ich meinen Array c einfach so mit dem Result der Funktion überschreiben kann(beide haben die gleiche länge) oder ob ich jede Stelle des Arrays aufrufen und ersetzen muss.
Wie kann ich nun diese Funktion verbessern, damit es klappt?
Danke!