Дана квадратная матрица. Повернуть ее на 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.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая является стандартной для Turbo Pascal.
- Затем определяется константа n, которая определяет размерность матрицы (в данном случае 10 строк и 10 столбцов).
- Определяется тип данных Atr, который представляет собой массив целых чисел размером n на n.
- Определяется процедура matrica, которая принимает матрицу a в качестве параметра и выполняет итерацию по каждому элементу матрицы. Внутри цикла вычисляется случайное число от 0 до 99 и присваивается соответствующему элементу матрицы. Затем выводится значение этого элемента.
- Вызывается процедура matrica для заполнения матрицы случайными числами.
- Определяется процедура matrica_povorot_90, которая принимает матрицу a в качестве параметра и выполняет поворот матрицы на 90 градусов в + направлении. Для этого используется два вложенных цикла, которые выполняют итерацию по каждому элементу матрицы. Значение каждого элемента присваивается новому элементу, расположенному на позиции (i-1)(n-j+1) + j.
- Вызывается процедура matrica_povorot_90 для поворота матрицы.
- Определяется процедура matrica_vivod, которая принимает матрицу a в качестве параметра и выводит все ее элементы. Для этого выполняется итерация по каждому элементу матрицы и выводится его значение.
- Вызывается процедура matrica_vivod для вывода матрицы после выполнения всех предыдущих процедур.
- Завершается программа.