Составить процедуру, меняющую местами столбцы матрицы с номерами 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, которые были введены пользователем.
- Затем происходит вывод содержимого матрицы на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д