eee, poradziłem sobie. Było to łatwiejsze niż początkowo myślałem. Kod końcowy jest następujący:
program transponowanie;
uses crt;
var
 i,j,k : byte;
     a : array[1..50,1..50] of integer;
     b : array[1..50,1..50] of integer;
begin
 clrscr;
 randomize;
 textcolor(yellow);
 writeln('podaj rozmiar tablicy kwadratowej i nacisnij ENTER');
 readln(k);
 textcolor(red);
 for i:=1 to k do
   begin
    writeln;
     for j:=1 to k do
      begin
       a[i,j]:=random(101)-50;
       write(a[i,j]:3,  ' , ');
      end;
   end;
 writeln;
 writeln;
 textcolor(yellow);
 writeln('wywietlono tablic©');
 writeln;
 writeln('nacisnij klawisz aby wyswietlic przetranspondowana');
 readln;
  for i:=1 to k do
   for j:=1 to k do
    b[i,j]:=a[j,i];
    writeln;
 textcolor(yellow);
 writeln('tablica przetransponowana');
 textcolor(red);
 writeln;
  for i := 1 to k do
   begin
    for j := 1 to k do write(b[i,j]:3, ' , ');
    writeln;
   end;
 readln;
end.