Составить процедуру, меняющую местами столбцы матрицы с номерами 1 и 2 - Turbo Pascal
Формулировка задачи:
составить процедуру ,меняющую местами столбцы с номерами n1 и n2 в матрице размерностью 6*5
Решение задачи: «Составить процедуру, меняющую местами столбцы матрицы с номерами 1 и 2»
textual
Листинг программы
- const
- n = 6;
- m = 5;
- type
- TArray = Array[1..n, 1..m] Of ShortInt;
- procedure PrintArray(const ar: TArray);
- var
- i, j: Byte;
- begin
- WriteLn;
- for i := 1 to n do
- begin
- for j := 1 to m do
- Write(ar[i, j]:4);
- WriteLn;
- end;
- WriteLn;
- end;
- procedure SwapColumns(const m1, m2: Byte; var ar: TArray);
- procedure SwapElements(var x, y: ShortInt);
- var
- z: ShortInt;
- begin
- z := x;
- x := y;
- y := z;
- end;
- var
- i: Byte;
- begin
- for i := 1 to n do
- SwapElements(ar[i, m1], ar[i, m2]);
- end;
- var
- ar: TArray;
- i, j, m1, m2: Byte;
- begin
- Randomize;
- for i := 1 to n do
- begin
- for j := 1 to m do
- begin
- ar[i, j] := Random(199) - 99;
- Write(ar[i, j]:4);
- end;
- WriteLn;
- end;
- repeat
- Write('Input n1: ');
- ReadLn(m1);
- until ((m1 > 0) And (m1 <= m));
- repeat
- Write('Input n2: ');
- ReadLn(m2);
- until ((m2 > 0) And (m2 <= m) And (m2 <> m1));
- SwapColumns(m1, m2, ar);
- for i := 1 to n do
- begin
- WriteLn;
- for j := 1 to m do
- Write(ar[i, j]:4);
- end;
- end.
Объяснение кода листинга программы
- В начале кода объявляются константы n и m, которые представляют собой длину и ширину матрицы соответственно. Тип данных TArray представляет собой массив целых чисел.
- Затем объявляется процедура PrintArray, которая выводит содержимое матрицы на экран.
- Далее объявляется процедура SwapColumns, которая меняет местами столбцы матрицы с номерами 1 и 2. Эта процедура принимает два аргумента типа Byte - m1 и m2, которые представляют собой номера столбцов, которые нужно поменять местами. Также в этой процедуре объявлена вспомогательная процедура SwapElements, которая меняет местами два элемента массива.
- После этого объявляется вспомогательная процедура SwapElements, которая меняет местами два элемента массива. Эта процедура принимает два аргумента типа ShortInt - x и y, и меняет их местами.
- Затем объявляется переменная i, которая будет использоваться для цикла в процедуре SwapColumns.
- В цикле SwapColumns происходит обмен элементов массива по индексам i и j. Для каждого индекса i происходит вызов процедуры SwapElements, чтобы обменять элементы ar[i, m1] и ar[i, m2].
- После выполнения цикла SwapColumns происходит вывод содержимого матрицы на экран.
- Код повторяет запрос ввода двух чисел до тех пор, пока не будут введены корректные значения (т.е. больше 0 и меньше или равно m).
- После этого вызывается процедура SwapColumns с аргументами m1 и m2, которые были введены пользователем.
- Затем происходит вывод содержимого матрицы на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д