Поменять местами k-ую и l-ую строки матрицы - PascalABC.NET
Формулировка задачи:
Матрица размещена в одномерном массиве по строкам. Поменять местами k-ую и l-ую строки матрицы(k и l заданы). Результат напечатать по строкам. То есть, k-ая строка матрицы расположена в одномерном массиве в элементах
(( k-l)*m+1)-го до (k*m)-го.
Решение задачи: «Поменять местами k-ую и l-ую строки матрицы»
textual
Листинг программы
var b:array of integer; i,j,m,n,k,l:integer; begin randomize; writeln('Введите размерность матрицы:'); repeat m:=readinteger('Число строк:'); until m>1; repeat n:=readinteger('Число столбцов:'); until n>1; writeln('Исходная матрица:'); SetLength(b,m*n); k:=0; for i:=1 to m do begin write(i:5,'|' ); for j:=1 to n do begin b[k]:=random(10); write(b[k]:4); k:=k+1; end; writeln; end; writeln(b); repeat write('Введите номера строк, через пробел, которые нужно поменять местами:'); readln(l,k); until (l in [1..m]) and (k in [1..m]); writeln('Полученная матрица:'); for i:=0 to n-1 do swap(b[(k-1)*n+i],b[(l-1)*n+i]); writeln(b); k:=0; for i:=1 to m do begin write(i:5,'|' ); for j:=1 to n do begin write(b[k]:4); k:=k+1; end; writeln; end; end.
Объяснение кода листинга программы
- Переменная b представляет собой одномерный массив целых чисел, который будет использоваться для хранения значений матрицы.
- Переменные i, j, m, n, k, l используются для управления циклами и индексации элементов матрицы.
- В начале программы пользователю предлагается ввести размерность матрицы.
- Затем выводится исходная матрица, заполненная случайными значениями.
- Пользователю предлагается ввести номера строк, которые необходимо поменять местами.
- Если введенные номера удовлетворяют условиям (принадлежат диапазону от 1 до размера матрицы), то происходит обмен строками.
- Выводится полученная матрица.
- Код повторяет вывод исходной матрицы для наглядности.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д