Перестановка строк матрицы - Turbo Pascal

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

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

Написал программу замены k-ой строки на l-тую строку, но программа не работает, помогите разобраться в чем причина.

Решение задачи: «Перестановка строк матрицы»

textual
Листинг программы
program zamena;
const n=5; m=5;
type matrix=array[1..n,1..m] of integer;
procedure vvod(var a:matrix);
var i,j:integer;
begin
writeln('Исходная матрица');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(100);
    write(a[i,j]:4);
   end;
  writeln;
 end;
end;
procedure stroki(k,l:byte;var a:matrix);
var i,j:byte;
    x:integer;
begin
for j:=1 to m do
 begin
  x:=a[l,j];
  a[l,j]:=a[k,j];
  a[k,j]:=x;
 end;
writeln('Обмен строк ',k,' и ',l);
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:4);
  writeln;
 end;
end;
var a:matrix;
    l,k:integer;
begin
vvod(a);
repeat
writeln('Введите номера строк для обмена');
readln(l,k);
until(l in [1..n])and(k in [1..n])and(l<>k);
stroki(k,l,a);
end.

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

  1. В программе объявлены две константы n и m, которые определяют количество строк и столбцов в матрице соответственно.
  2. Затем объявлен тип данных matrix, который представляет собой массив целых чисел.
  3. Далее определен внешний процедур vvod, который принимает матрицу в качестве параметра и выводит исходную матрицу. Внутри этого цикла происходит итерация по каждой строке матрицы и каждому столбцу, где в каждой ячейке генерируется случайное число от 1 до 100 и записывается в вывод.
  4. Затем определен внутренний процедур stroki, который принимает три параметра: k, l и a. Этот процедур выполняет обмен строками между строками k и l. Сначала он меняет значения ячеек в строках k и l, а затем выводит обновленные значения.
  5. В основной части программы создается переменная a типа matrix и вызывается процедура vvod, чтобы вывести исходную матрицу.
  6. Затем программа просит пользователя ввести номера строк для обмена. Если введенные номера находятся в допустимом диапазоне (от 1 до n), то вызывается процедура stroki с этими номерами и текущей матрицей.
  7. Программа продолжается до тех пор, пока пользователь не введет недопустимые номера строк или не прекратит ввод.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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