Поворот двумерного массива на 90° по часовой стрелке

Оригинал статьи: 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.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии