Einzelnen Beitrag anzeigen

Backes

Registriert seit: 11. Jan 2014
1 Beiträge
 
#1

Array Rückgabewert Funktion

  Alt 11. Jan 2014, 22:25
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!
  Mit Zitat antworten Zitat