Перестановка строк матрицы - 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.
Объяснение кода листинга программы
- В программе объявлены две константы n и m, которые определяют количество строк и столбцов в матрице соответственно.
- Затем объявлен тип данных matrix, который представляет собой массив целых чисел.
- Далее определен внешний процедур vvod, который принимает матрицу в качестве параметра и выводит исходную матрицу. Внутри этого цикла происходит итерация по каждой строке матрицы и каждому столбцу, где в каждой ячейке генерируется случайное число от 1 до 100 и записывается в вывод.
- Затем определен внутренний процедур stroki, который принимает три параметра: k, l и a. Этот процедур выполняет обмен строками между строками k и l. Сначала он меняет значения ячеек в строках k и l, а затем выводит обновленные значения.
- В основной части программы создается переменная a типа matrix и вызывается процедура vvod, чтобы вывести исходную матрицу.
- Затем программа просит пользователя ввести номера строк для обмена. Если введенные номера находятся в допустимом диапазоне (от 1 до n), то вызывается процедура stroki с этими номерами и текущей матрицей.
- Программа продолжается до тех пор, пока пользователь не введет недопустимые номера строк или не прекратит ввод.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д