Дана квадратная матрица. Повернуть ее на 90 градусов в + направлении (процедуры) - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Решение задачи: «Дана квадратная матрица. Повернуть ее на 90 градусов в + направлении (процедуры)»

textual
Листинг программы
uses crt;
const n=10;
Type Atr = array [1..n,1..n] of integer;
Procedure matrica (var a:Atr);
var i,j: integer;
begin
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(100);
    write (a[i,j]:4);
   end;
  writeln;
 end;
end;
 
Procedure matrica_povorot_90 (var a:atr);
var i,j,p,x:integer;
begin
p:=n div 2;
for i:=1 to p do
for j:=i to n-i do
 begin
  x := a[i,j];
  a[i,j] := a[n-j+1,i];
  a[n-j+1,i] := a[n-i+1,n-j+1];
  a[n-i+1,n-j+1] := a[j,n-i+1];
  a[j,n-i+1] := x;
 end;
end;
 
Procedure matrica_vivod (a: Atr);
var i,j: integer;
begin
for i:=1 to n do
 begin
  for j:=1 to n do
  write (a[i,j]:4);
  writeln;
 end;
end;
 
 
Var a: Atr;
begin
clrscr;
writeln('Ishodna9 Matrica');
matrica (a);
Writeln ('Povorot na 90');
matrica_povorot_90(a);
matrica_vivod (a);
readln;
end.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека crt, которая является стандартной для Turbo Pascal.
  2. Затем определяется константа n, которая определяет размерность матрицы (в данном случае 10 строк и 10 столбцов).
  3. Определяется тип данных Atr, который представляет собой массив целых чисел размером n на n.
  4. Определяется процедура matrica, которая принимает матрицу a в качестве параметра и выполняет итерацию по каждому элементу матрицы. Внутри цикла вычисляется случайное число от 0 до 99 и присваивается соответствующему элементу матрицы. Затем выводится значение этого элемента.
  5. Вызывается процедура matrica для заполнения матрицы случайными числами.
  6. Определяется процедура matrica_povorot_90, которая принимает матрицу a в качестве параметра и выполняет поворот матрицы на 90 градусов в + направлении. Для этого используется два вложенных цикла, которые выполняют итерацию по каждому элементу матрицы. Значение каждого элемента присваивается новому элементу, расположенному на позиции (i-1)(n-j+1) + j.
  7. Вызывается процедура matrica_povorot_90 для поворота матрицы.
  8. Определяется процедура matrica_vivod, которая принимает матрицу a в качестве параметра и выводит все ее элементы. Для этого выполняется итерация по каждому элементу матрицы и выводится его значение.
  9. Вызывается процедура matrica_vivod для вывода матрицы после выполнения всех предыдущих процедур.
  10. Завершается программа.

Оцени полезность:

8   голосов , оценка 3.25 из 5
Похожие ответы