Составить процедуру, меняющую местами столбцы матрицы с номерами 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.

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

  1. В начале кода объявляются константы n и m, которые представляют собой длину и ширину матрицы соответственно. Тип данных TArray представляет собой массив целых чисел.
  2. Затем объявляется процедура PrintArray, которая выводит содержимое матрицы на экран.
  3. Далее объявляется процедура SwapColumns, которая меняет местами столбцы матрицы с номерами 1 и 2. Эта процедура принимает два аргумента типа Byte - m1 и m2, которые представляют собой номера столбцов, которые нужно поменять местами. Также в этой процедуре объявлена вспомогательная процедура SwapElements, которая меняет местами два элемента массива.
  4. После этого объявляется вспомогательная процедура SwapElements, которая меняет местами два элемента массива. Эта процедура принимает два аргумента типа ShortInt - x и y, и меняет их местами.
  5. Затем объявляется переменная i, которая будет использоваться для цикла в процедуре SwapColumns.
  6. В цикле SwapColumns происходит обмен элементов массива по индексам i и j. Для каждого индекса i происходит вызов процедуры SwapElements, чтобы обменять элементы ar[i, m1] и ar[i, m2].
  7. После выполнения цикла SwapColumns происходит вывод содержимого матрицы на экран.
  8. Код повторяет запрос ввода двух чисел до тех пор, пока не будут введены корректные значения (т.е. больше 0 и меньше или равно m).
  9. После этого вызывается процедура SwapColumns с аргументами m1 и m2, которые были введены пользователем.
  10. Затем происходит вывод содержимого матрицы на экран.

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

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