fork download
  1. program Project1;
  2. uses
  3. SysUtils;
  4.  
  5. type
  6. TIntArray = array of Integer;
  7. T2DIntArray = array of TIntArray;
  8.  
  9. procedure ArrSetLength(var Arr: T2DIntArray; X, Y: Integer);
  10. var
  11. I: Integer;
  12. begin
  13. SetLength(Arr, X);
  14. for I := Low(Arr) to High(Arr) do
  15. SetLength(Arr[I], Y);
  16. end;
  17.  
  18. procedure PrintArray(const Arr: T2DIntArray);
  19. var
  20. I, J: Integer;
  21. begin
  22. Writeln;
  23. for I := Low(Arr) to High(Arr) do
  24. begin
  25. for J := Low(Arr[I]) to High(Arr[I]) do
  26. Write(Arr[I][J]:4);
  27. Writeln;
  28. end;
  29. end;
  30.  
  31. procedure Transponer(const Arr: T2DIntArray; var ArrT: T2DIntArray);
  32. var
  33. I, J: Integer;
  34. Temp: Integer;
  35. begin
  36. ArrSetLength(ArrT, Length(Arr[0]), Length(Arr));
  37. for I := Low(Arr) to High(Arr) do
  38. for J := 0 to High(Arr[I]) do
  39. begin
  40. ArrT[J, I] := Arr[I, J];
  41. end;
  42. end;
  43.  
  44. var
  45. X, XT: T2DIntArray;
  46. begin
  47. ArrSetLength(X, 2, 4);
  48. X[0][0] := 1;
  49. X[0][1] := 2;
  50. X[0][2] := 3;
  51. X[0][3] := 4;
  52. X[1][0] := 5;
  53. X[1][1] := 6;
  54. X[1][2] := 7;
  55. X[1][3] := 8;
  56. PrintArray(X);
  57. Transponer(X, XT);
  58. Writeln;
  59. PrintArray(XT);
  60. Readln;
  61. end.
Success #stdin #stdout 0s 444KB
stdin
Standard input is empty
stdout
   1   2   3   4
   5   6   7   8


   1   5
   2   6
   3   7
   4   8