Поменять местами 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 до размера матрицы), то происходит обмен строками.
- Выводится полученная матрица.
- Код повторяет вывод исходной матрицы для наглядности.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д