Составить процедуру, меняющую местами столбцы матрицы с номерами 1 и 2 - Turbo Pascal

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

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

составить процедуру ,меняющую местами столбцы с номерами n1 и n2 в матрице размерностью 6*5

Решение задачи: «Составить процедуру, меняющую местами столбцы матрицы с номерами 1 и 2»

textual
Листинг программы
  1. const
  2.   n = 6;
  3.   m = 5;
  4. type
  5.   TArray = Array[1..n, 1..m] Of ShortInt;
  6. procedure PrintArray(const ar: TArray);
  7. var
  8.   i, j: Byte;
  9. begin
  10.   WriteLn;
  11.   for i := 1 to n do
  12.   begin
  13.     for j := 1 to m do
  14.       Write(ar[i, j]:4);
  15.     WriteLn;
  16.   end;
  17.   WriteLn;
  18. end;
  19. procedure SwapColumns(const m1, m2: Byte; var ar: TArray);
  20. procedure SwapElements(var x, y: ShortInt);
  21. var
  22.   z: ShortInt;
  23. begin
  24.   z := x;
  25.   x := y;
  26.   y := z;
  27. end;
  28. var
  29.   i: Byte;
  30. begin
  31.   for i := 1 to n do
  32.     SwapElements(ar[i, m1], ar[i, m2]);
  33. end;
  34. var
  35.   ar: TArray;
  36.   i, j, m1, m2: Byte;
  37. begin
  38.   Randomize;
  39.   for i := 1 to n do
  40.   begin
  41.     for j := 1 to m do
  42.     begin
  43.       ar[i, j] := Random(199) - 99;
  44.       Write(ar[i, j]:4);
  45.     end;
  46.     WriteLn;
  47.   end;
  48.   repeat
  49.     Write('Input n1: ');
  50.     ReadLn(m1);
  51.   until ((m1 > 0) And (m1 <= m));
  52.   repeat
  53.     Write('Input n2: ');
  54.     ReadLn(m2);
  55.   until ((m2 > 0) And (m2 <= m) And (m2 <> m1));
  56.   SwapColumns(m1, m2, ar);
  57.   for i := 1 to n do
  58.   begin
  59.     WriteLn;
  60.     for j := 1 to m do
  61.       Write(ar[i, j]:4);
  62.   end;
  63. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы