Оригинал статьи: http://www.cyberforum.ru/pascal/thread133142.html
Благодарен всем авторам, которые внесли свой вклад в сборку кода
var a, b: array[1..100, 1..100] of integer; i, j, n, m: integer; begin write('Введите колличество строк и столбцов: '); readln(n, m); {количество строк и столбцов соответственно} for i := 1 to n do for j := 1 to m do a[i, j] := random(9); {генерируем случайные числа} writeln('Старый массив'); for i := 1 to n do begin for j := 1 to m do write(a[i, j]:4); {вывод введенного массива на экран} writeln; end; for j := 1 to n do for i := 1 to m do b[i, n - j + 1] := a[j, i]; {переворот массива осуществляется при помощи другого массива} writeln('Новая размерность'); writeln(m, ' ', n); {выводим новые размеры} writeln('Новый массив'); for i := 1 to m do begin for j := 1 to n do write(b[i, j]:4); {выводим новый массив} writeln; end; readln end.